Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

Qt

Choisissez la catégorie, puis la rubrique :

Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QMdiSubWindow

La classe QMdiSubWindow fournit une classe de sous-fenêtre pour QMdiArea. Plus d'informations...

  
  
 #include <QMdiSubWindow>

Héritage

Hérite de QWidget.

Cette classe a été introduite dans Qt 4.3.

Description détaillée

La classe QMdiSubWindow fournit une classe de sous-fenêtre pour QMdiArea.

QMdiSubWindow représente une fenêtre de premier niveau dans un QMdiArea et consiste en une barre de titre avec des décorations, un widget interne et (selon le style actuel) une bordure de fenêtre et une poignée de redimensionnement. QMdiSubWindow possède son propre layout, qui consiste en une barre de titre et une zone centrale pour le widget interne.

image

La façon la plus courante de construire un QMdiSubWindow est d'appeler QMdiArea::addSubWindow() avec comme argument le widget interne. Vous pouvez aussi créer une sous-fenêtre vous-même et définir un widget interne en appelant setWidget().

Vous utilisez les mêmes fonctions lorsque vous programmez avec les sous-fenêtres que lorsque vous utilisez les fenêtres de premier niveau (par exemple, vous pouvez appeler les fonctions telles que show(), hide(), showMaximized() et setWindowTitle()).

Gestion des sous-fenêtres

QMdiSubWindow gère aussi des comportements spécifiques aux sous-fenêtres dans une zone MDI.

Par défaut, chaque QMdiSubWindow reste visible dans la zone MDI pendant qu'elle est déplacée, mais il est aussi possible de spécifier la transparence du mouvement de la fenêtre et le comportement de redimensionnement, où seul le contour de la sous-fenêtre est mis à jour durant ces opérations. La fonction setOption() est utilisée pour activer ce comportement.

La fonction isShaded() détecte si la sous-fenêtre est actuellement repliée (c'est-à-dire si la fenêtre est réduite de façon à ce que seule la barre de titre soit visible). Pour entrer dans le mode replié, appelez showShaded(). QMdiSubWindow envoie le signal windowStateChanged() à chaque fois que l'état de la fenêtre est changé (par exemple, lorsque la fenêtre est réduite ou restaurée). La classe émet aussi le signal aboutToActivate() avant d'être activée.

Lorsque le mode interactif au clavier est activé, les fenêtres sont déplacées et redimensionnées avec le clavier. Vous pouvez activer ce mode dans le menu système de la fenêtre. Les propriétés keyboardSingleStep et keyboardPageStep contrôlent la distance (le pas) de déplacement et de redimensionnement pour chaque événement du clavier. Lorsque Shift est appuyé, les pas de page sont utilisés ; sinon on utilise les pas simples.

Vous pouvez aussi changer la fenêtre active avec le clavier. En appuyant sur les touches « contrôle » et « tabulation » au même moment la prochaine (selon le WindowOrder actuel) sous-fenêtre sera activée. En appuyant sur « contrôle », « shift » et « tabulation », vous activerez la fenêtre précédente. Cela revient à appeler activateNextSubWindow() et activatePreviousSubWindow(). Notez que ces raccourcis sont prioritaires sur les raccourcis globaux mais pas sur les raccourcis du QMdiArea.

Voir aussi QMdiArea.

Type

enum QMdiSubWindow::SubWindowOptionflags QMdiSubWindow::SubWindowOptions

Cette énumération décrit les options pour personnaliser le comportement de QMdiSubWindow.

Constante Valeur Description
QMdiSubWindow::RubberBandResize 0x4 Si vous activez cette option, un ruban de contrôle est utilisé pour représenter le contour de la sous-fenêtre et l'utilisateur redimensionne celui-ci au lieu de la sous-fenêtre elle-même. Par conséquent, la sous-fenêtre maintient ses position et taille originales tant que l'opération n'est pas terminée. À ce moment, la classe recevra un QResizeEvent unique. Par défaut, cette option est désactivée.
QMdiSubWindow::RubberBandMove 0x8 Si vous activez cette option, un ruban de contrôle est utilisé pour représenter le contour de la sous-fenêtre et l'utilisateur déplace celui-ci à la place de la sous-fenêtre elle-même. Par conséquent, la sous-fenêtre reste à sa position d'origine tant que l'opération de déplacement n'est pas terminée. À ce moment, un QMoveEvent unique est envoyé à la fenêtre. Par défaut, cette option est désactivée.

Le type SubWindowOptions est un typedef pour QFlags<SubWindowOption>. Il contient une combinaison OU logique des valeurs de SubWindowOption.

Propriétés

keyboardPageStep : int

Cette propriété représente la distance (ou pas) de déplacement ou de redimensionnement d'un widget lors de l'utilisation des touches pages du clavier.

Lorsque le mode interactif par le clavier est actif, vous pouvez utiliser les flèches et touches pages pour déplacer ou redimensionner la fenêtre. Cette propriété s'applique aux touches pages. La façon habituelle d'entrer dans ce mode est d'utiliser le menu de la sous-fenêtre et de sélectionner soit « Redimensionner » soit « Déplacer ».

La valeur par défaut du pas de page est de 20 pixels.

Fonction d'accès

int keyboardPageStep () const

void setKeyboardPageStep ( int step )

Voir aussi keyboardSingleStep.

keyboardSingleStep : int

Cette propriété représente la distance (ou pas) de déplacement ou de redimensionnement d'un widget lors de l'utilisation des touches flèches du clavier.

Lorsque le mode interactif par le clavier est actif, vous pouvez utiliser les flèches et touches pages pour déplacer ou redimensionner la fenêtre. Cette propriété s'applique aux touches flèches. La façon habituelle d'entrer dans ce mode est d'utiliser le menu de la sous-fenêtre et de sélectionner soit « Redimensionner » soit « Déplacer ».

La valeur par défaut du pas de flèche est de 5 pixels.

Fonction d'accès

int keyboardSingleStep () const

void setKeyboardSingleStep ( int step )

Voir aussi keyboardPageStep.

Fonctions membres

QMdiSubWindow::QMdiSubWindow ( QWidget * parent = 0, Qt::WindowFlags flags = 0 )

Construit un nouveau widget QMdiSubWindow. Le parent parent et les indicateurs flags sont passés au constructeur de QWidget.

Au lieu d'utiliser la fonction addSubWindow(), il est aussi possible d'utiliser la fonction setParent() lorsque vous ajoutez la sous-fenêtre à un QMdiArea.

Notez que seuls des QMdiSubWindow peuvent être définis comme enfants de QMdiArea ; vous ne pouvez pas, par exemple, écrire :

 QMdiArea mdiArea;
 QTextEdit editor(&mdiArea); // widget enfant invalide

Voir aussi QMdiArea::addSubWindow().

QMdiSubWindow::~QMdiSubWindow ()

Détruit la sous-fenêtre.

Voir aussi QMdiArea::removeSubWindow().

void QMdiSubWindow::aboutToActivate () [signal]

QMdiSubWindow envoie ce signal immédiatement avant son activation. Après que la sous-fenêtre a été activée, le QMdiArea qui gère la sous-fenêtre enverra aussi le signal subWindowActivated().

Voir aussi QMdiArea::subWindowActivated().

void QMdiSubWindow::changeEvent ( QEvent * changeEvent ) [virtual protected]

Réimplémentation de QWidget::changeEvent().

void QMdiSubWindow::childEvent ( QChildEvent * childEvent ) [virtual protected]

Réimplémentation de QObject::childEvent().

void QMdiSubWindow::closeEvent ( QCloseEvent * closeEvent ) [virtual protected]

Réimplémentation de QWidget::closeEvent().

void QMdiSubWindow::contextMenuEvent ( QContextMenuEvent * contextMenuEvent ) [virtual protected]

Réimplémentation de QWidget::contextMenuEvent().

bool QMdiSubWindow::event ( QEvent * event ) [virtual protected]

Réimplémentation de QObject::event().

bool QMdiSubWindow::eventFilter ( QObject * object, QEvent * event ) [virtual protected]

Réimplémentation de QObject::eventFilter().

void QMdiSubWindow::focusInEvent ( QFocusEvent * focusInEvent ) [virtual protected]

Réimplémentation de QWidget::focusInEvent().

void QMdiSubWindow::focusOutEvent ( QFocusEvent * focusOutEvent ) [virtual protected]

Réimplémentation de QWidget::focusOutEvent().

void QMdiSubWindow::hideEvent ( QHideEvent * hideEvent ) [virtual protected]

Réimplémentation de QWidget::hideEvent().

bool QMdiSubWindow::isShaded () const

Retourne true si cette fenêtre est repliée ; sinon retourne false.

Une fenêtre est repliée si sa partie visible est réduite à la seule barre de titre.

void QMdiSubWindow::keyPressEvent ( QKeyEvent * keyEvent ) [virtual protected]

Réimplémentation de QWidget::keyPressEvent().

void QMdiSubWindow::leaveEvent ( QEvent * leaveEvent ) [virtual protected]

Réimplémentation de QWidget::leaveEvent().

QMdiArea * QMdiSubWindow::mdiArea () const

Retourne la zone contenant cette sous-fenêtre ou 0 s'il n'y en a pas.

Cette fonction a été introduite dans Qt 4.4.

Voir aussi QMdiArea::addSubWindow().

QSize QMdiSubWindow::minimumSizeHint () const [virtual]

Réimplémentation de QWidget::minimumSizeHint().

void QMdiSubWindow::mouseDoubleClickEvent ( QMouseEvent * mouseEvent ) [virtual protected]

Réimplémentation de QWidget::mouseDoubleClickEvent().

void QMdiSubWindow::mouseMoveEvent ( QMouseEvent * mouseEvent ) [virtual protected]

Réimplémentation de QWidget::mouseMoveEvent().

void QMdiSubWindow::mousePressEvent ( QMouseEvent * mouseEvent ) [virtual protected]

Réimplémentation de QWidget::mousePressEvent().

void QMdiSubWindow::mouseReleaseEvent ( QMouseEvent * mouseEvent ) [virtual protected]

Réimplémentation de QWidget::mouseReleaseEvent().

void QMdiSubWindow::moveEvent ( QMoveEvent * moveEvent ) [virtual protected]

Réimplémentation de QWidget::moveEvent().

void QMdiSubWindow::paintEvent ( QPaintEvent * paintEvent ) [virtual protected]

Réimplémentation de QWidget::paintEvent().

void QMdiSubWindow::resizeEvent ( QResizeEvent * resizeEvent ) [virtual protected]

Réimplémentation de QWidget::resizeEvent().

void QMdiSubWindow::setOption ( SubWindowOption option, bool on = true )

Si on est true, l‹option est activée sur la sous-fenêtre ; sinon elle est désactivée. Voir SubWindowOption pour connaître l'effet de chaque option.

Voir aussi SubWindowOption et testOption().

void QMdiSubWindow::setSystemMenu ( QMenu * systemMenu )

Définit systemMenu comme menu système courant pour cette sous-fenêtre.

Par défaut, chaque QMdiSubWindow possède un menu système standard.

Les QAction pour le menu système créé par QMdiSubWindow seront automatiquement mises à jour en fonction de l'état l'actuel de la fenêtre; par exemple, l'action de réduction sera désactivée si la fenêtre est réduite.

Les QAction ajoutées par l'utilisateur ne sont pas mises à jour par QMdiSubWindow.

QMdiSubWindow devient propriétaire de systemMenu ; vous n'avez pas à le détruire. Tous les menus existants seront détruits.

Voir aussi systemMenu() et showSystemMenu().

void QMdiSubWindow::setWidget ( QWidget * widget )

Définit widget comme le widget interne de cette sous-fenêtre. Le widget interne est affiché au centre de la sous-fenêtre sous la barre de titre.

QMdiSubWindow devient temporairement propriétaire de widget ; vous n'avez pas à le détruire. Les widgets internes existants seront retirés et leur parent deviendra la fenêtre racine.

Voir aussi widget().

void QMdiSubWindow::showEvent ( QShowEvent * showEvent ) [virtual protected]

Réimplémentation de QWidget::showEvent().

void QMdiSubWindow::showShaded () [slot]

L'appel de cette fonction fait entrer la sous-fenêtre dans le mode replié. Lorsque la sous-fenêtre est repliée, seule la barre de titre est visible.

Bien que le repliement ne soit pas géré par tous les styles, cette fonction affichera toujours la sous-fenêtre comme repliée, sans se soucier de savoir si le repliement est géré ou non. Toutefois, lorsqu'il est utilisé avec des styles ne gérant pas le repliement, l'utilisateur ne pourra pas sortir du mode replié à travers l'interface utilisateur (par exemple, à l'aide d'un bouton replier dans la barre de titre).

Voir aussi isShaded().

void QMdiSubWindow::showSystemMenu () [slot]

Affiche le menu système sous l?icône de menu système dans la barre de titre.

Voir aussi setSystemMenu() et systemMenu().

QSize QMdiSubWindow::sizeHint () const [virtual]

Réimplémentation de QWidget::sizeHint().

QMenu * QMdiSubWindow::systemMenu () const

Retourne un pointeur sur le menu système actuel ou zéro si aucun menu système n'est défini. QMdiSubWindow fournit un menu système par défaut mais vous pouvez le définir avec la fonction setSystemMenu().

Voir aussi setSystemMenu() et showSystemMenu().

bool QMdiSubWindow::testOption ( SubWindowOption option ) const

Retourne true si l‹option est active ; sinon retourne false.

Voir aussi SubWindowOption et setOption().

void QMdiSubWindow::timerEvent ( QTimerEvent * timerEvent ) [virtual protected]

Réimplémentation de QObject::timerEvent().

QWidget * QMdiSubWindow::widget () const

Retourne le widget interne actuel.

Voir aussi setWidget().

void QMdiSubWindow::windowStateChanged ( Qt::WindowStates oldState, Qt::WindowStates newState ) [signal]

QMdiSubWindow envoie ce signal après un changement d'état de la fenêtre. oldState correspond à l'ancien état de la fenêtre avant le changement et newState au nouvel état.

Remerciements

Merci à Alexandre Laurent pour la traduction, ainsi qu'à Ilya Diallo et Claude Leloup pour la relecture !

Warning: include(): https:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/developpez/www/developpez-com/upload/qt/doc/bs.php on line 4 Warning: include(https://qt.developpez.com/index/rightColumn): failed to open stream: no suitable wrapper could be found in /home/developpez/www/developpez-com/upload/qt/doc/bs.php on line 4 Warning: include(): Failed opening 'https://qt.developpez.com/index/rightColumn' for inclusion (include_path='.:/usr/php53/lib/php') in /home/developpez/www/developpez-com/upload/qt/doc/bs.php on line 4
Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 4.7
Copyright © 2020 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur, une redirection cassée ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -

Partenaire : Hébergement Web