QGraphicsWidgetLa classe QGraphicsWidget est la classe de base pour tous les �l�ments widget dans une QGraphicsScene. Plus d'informations... #include <QGraphicsWidget> Voir la position dans l'arbre des classes. H�ritageH�rite de QGraphicsObject et QGraphicsLayoutItem. H�rit� par QGraphicsProxyWidget et QGraphicsWebView. Cette classe a �t� introduite dans Qt 4.4. Description d�taill�eLa classe QGraphicsWidget est la classe de base pour tous les �l�ments widget dans une QGraphicsScene. QGraphicsWidget est un �l�ment de base qui �tend QGraphicsItem avec des fonctionnalit�s suppl�mentaires. Il a de nombreuses similarit�s avec QWidget :
Contrairement � QGraphicsItem, QGraphicsWidget n'est pas une classe abstraite ; vous pouvez cr�er des instances de QGraphicsWidget sans avoir � la d�river. Cette approche est utile pour des widgets dont l'objet est d'organiser des widgets enfants dans un layout. QGraphicsWidget peut �tre utilis� comme base pour vos propres �l�ments personnalis�s si vous avez besoin d'une gestion avanc�e du focus pour les entr�es, par exemple le focus et l'activation par tabulation, ou de g�rer des dispositions (layout). Comme QGraphicsWidget ressemble � QWidget et poss�de une API similaire, il est plus facile de porter un widget depuis QWidget vers QGraphicsWidget, que vers QGraphicsItem. Note : les widgets bas�s sur QWidget peuvent �tre directement int�gr�s dans une QGraphicsScene en utilisant QGraphicsProxyWidget. Les diff�rences significatives entre QGraphicsWidget et QWidget sont :
QGraphicsWidget g�re un sous-ensemble des attributs des widget Qt, (Qt::WidgetAttribute), comme d�crit dans la table ci-dessous. Les attributs non list�s dans cette table ne sont pas g�r�s ou ne sont pas utilis�s.
Bien que QGraphicsWidget h�rite � la fois de QObject et de QGraphicsItem, il faut utiliser les fonctions fournies par QGraphicsItem, et pas celles de QObject, pour g�rer les relations entre parents et enfants. Ces fonctions contr�lent �galement l'ordre d'empilage des �l�ments, en plus de leur parent�. Note : QObject::parent() devrait toujours renvoyer 0 pour les QGraphicsWidgets mais cette r�gle n'est pas strictement d�finie. Voir aussi QGraphicsProxyWidget, QGraphicsItem et Widgets et Layouts. Propri�t�sautoFillBackground : boolCette propri�t� correspond � l'activation du remplissage automatique de l'arri�re-plan du widget. Si elle est activ�e, cette propri�t� fera que Qt remplira l'arri�re-plan du widget avant d'invoquer la m�thode paint(). La couleur utilis�e est celle du r�le QPalette::Window de la palette du widget. De plus, les widgets de type Windows (fen�tres) sont toujours remplis avec QPalette::Window, sauf si les attributs WA_OpaquePaintEvent ou WA_NoSystemBackground sont activ�s. Par d�faut, cette propri�t� est false. Cette propri�t� a �t� introduite dans Qt 4.7. Fonctions d'acc�sbool autoFillBackground () const void setAutoFillBackground ( bool enabled ) Voir aussi Qt::WA_OpaquePaintEvent et Qt::WA_NoSystemBackground. focusPolicy : Qt::FocusPolicyCette propri�t� sp�cifie la fa�on dont le widget accepte le focus clavier. La r�gle de gestion du focus est Qt::TabFocus si le widget accepte le focus clavier par tabulation, Qt::ClickFocus si le widget accepte le focus par clic, Qt::StrongFocus s'il accepte les deux et Qt::NoFocus (la valeur par d�faut) s'il n'accepte pas le focus. Vous devez activer le focus clavier du widget s'il traite les �v�nements clavier. Cette activation est g�n�ralement faite depuis le constructeur du widget. Par exemple, le constructeur de QLineEdit appelle setFocusPolicy(Qt::StrongFocus). Si vous activez une r�gle de gestion du focus (c'est-�-dire, autre que Qt::NoFocus), QGraphicsWidget activera automatiquement le drapeau ItemIsFocusable. Sp�cifier Qt::NoFocus pour un widget d�sactivera le drapeau ItemIsFocusable, et si le widget poss�de le focus clavier, il le perdra automatiquement. Fonctions d'acc�sQt::FocusPolicy focusPolicy () const void setFocusPolicy ( Qt::FocusPolicy policy ) Voir aussi focusInEvent(), focusOutEvent(), keyPressEvent(), keyReleaseEvent() et enabled. font : QFontCette propri�t� contient la police de caract�res du widget. Cette propri�t� fournit la police du widget. QFont est compos� de propri�t�s de police explicitement d�finies et de propri�t�s h�rit�es implicitement du parent du widget. Par cons�quent, font() peut renvoyer une police diff�rente de celle d�finie par setFont(). Cette organisation vous permet de d�finir des entr�es particuli�res dans une police sans affecter les entr�es h�rit�es de la police. Quand la police d'un widget change, il r�sout ses entr�es avec son widget parent. Si le widget n'a pas de widget parent, il r�sout ses entr�es avec la sc�ne. Le widget s'envoie ensuite � lui-m�me un �v�nement FontChange et notifie � ses descendants afin qu'ils puissent �galement r�soudre leur police. Par d�faut, cette propri�t� contient la police par d�faut de l'application. Fonctions d'acc�sQFont font () const void setFont ( const QFont & font ) Voir aussi QApplication::font(), QGraphicsScene::font et QFont::resolve(). geometry : QRectFCette propri�t� contient la g�om�trie du widget. D�finit rect comme g�om�trie de l'�l�ment. La position et la taille de l'�l�ment sont modifi�es suite � l'appel de cette fonction. L'�l�ment est d'abord d�plac�, puis redimensionn�. Un effet secondaire de l'appel de cette fonction est que le widget recevra un �v�nement de d�placement et un �v�nement de redimensionnement. De plus, si le widget est associ� � une disposition (layout), la disposition va s'activer. Fonctions d'acc�svirtual void setGeometry ( const QRectF & rect ) void setGeometry ( qreal x, qreal y, qreal w, qreal h ) Signal de notification : void geometryChanged () Voir aussi geometry() et resize(). layout : QGraphicsLayout *Cette propri�t� contient la disposition associ�e au widget. Un �ventuel gestionnaire de disposition pr�existant sera supprim� avant l'ajout de la nouvelle disposition. Si layout vaut 0, le widget n'aura plus de disposition associ�e. Les g�om�tries des sous-widgets existants ne seront pas affect�es. QGraphicsWidget devient propri�taire de layout. Tous les widgets actuellement g�r�s par layout ou une de ses sous-dispositions deviennent automatiquement des enfants de cet �l�ment. La disposition est alors invalid�e et les g�om�tries des widgets enfants sont ajust�es en fonction de la geometry() et des contentsMargins() de cet �l�ment. Les enfants qui ne sont pas explicitement g�r�s par layout restent ind�pendants de layout apr�s qu'il ait �t� affect� � ce widget. Si aucune disposition n'est affect�e � ce widget, layout() renverra 0. Fonctions d'acc�sQGraphicsLayout * layout () const void setLayout ( QGraphicsLayout * layout ) layoutDirection : Qt::LayoutDirectionCette propri�t� contient la direction de la disposition pour ce widget. Cette propri�t� modifie l'attribut Qt::WA_RightToLeft de ce widget et de tous ses descendants. Il active aussi l'attribut Qt::WA_SetLayoutDirection. La direction de la disposition d�termine l'ordre dans lequel le gestionnaire de disposition place horizontalement les sous-widgets de ce widget. La valeur par d�faut d�pend de la langue et de la localisation de l'application et est typiquement dans la m�me direction que celle de lecture et d'�criture des mots. Avec Qt::LeftToRight, les sous-widgets sont plac�s de la gauche du widget vers la droite. Qt::RightToLeft fait le contraire, les widgets sont plac�s depuis le bord droit vers la gauche. Les sous-widgets h�ritent leur direction de disposition du parent. Les widgets de premier niveau h�ritent leur direction de disposition de QGraphicsScene::layoutDirection. Si vous changez la direction par un appel de setLayoutDirection(), le widget s'enverra � lui-m�me un �v�nement LayoutDirectionChange et propagera ensuite la nouvelle direction � tous ses descendants. Fonctions d'acc�sQt::LayoutDirection layoutDirection () const void setLayoutDirection ( Qt::LayoutDirection direction ) void unsetLayoutDirection () Voir aussi QWidget::layoutDirection et QApplication::layoutDirection. maximumSize : const QSizeFCette propri�t� contient la taille maximale du widget. Voir aussi setMaximumSize(), maximumSize(), minimumSize et preferredSize. minimumSize : const QSizeFCette propri�t� contient la taille minimale du widget. Voir aussi setMinimumSize(), minimumSize(), preferredSize et maximumSize. palette : QPaletteCette propri�t� contient la palette du widget. La palette fournit des couleurs et des brosses pour des groupes de couleurs (par exemple, QPalette::Button) et pour les �tats (par exemple, QPalette::Inactive), d�finissant approximativement l'apparence g�n�rale du widget et de ses enfants. QPalette comprend des groupes de couleurs ayant �t� d�finis explicitement et des groupes h�rit�s implicitement depuis le parent du widget. En cons�quence, palette() peut renvoyer une palette diff�rente de celle qui a �t� sp�cifi�e par setPalette(). Cette organisation vous permet de d�finir des entr�es particuli�res dans une palette sans affecter les entr�es h�rit�es de la palette. Quand la palette d'un widget change, il r�sout ses entr�es avec son widget parent. Si le widget n'a pas de widget parent, il r�sout ses entr�es avec la sc�ne. Le widget s'envoie ensuite � lui-m�me un �v�nement PaletteChange et notifie � ses descendants afin qu'ils puissent �galement r�soudre leur palette. Par d�faut, cette propri�t� contient la palette par d�faut de l'application. Fonctions d'acc�sQPalette palette () const void setPalette ( const QPalette & palette ) Voir aussi QApplication::palette(), QGraphicsScene::palette et QPalette::resolve(). preferredSize : const QSizeFCette propri�t� contient la taille pr�f�r�e du widget. Voir aussi setPreferredSize(), preferredSize(), minimumSize et maximumSize. size : QSizeFCette propri�t� contient la taille du widget. L'appel de resize() redimensionne le widget � une taille size born�e par minimumSize() et maximumSize(). Cette propri�t� affecte seulement la largeur et la hauteur du widget (c'est-�-dire ses bords inf�rieur et droit) ; la position du widget et son coin sup�rieur gauche ne sont pas affect�s. Le redimensionnement d'un widget d�clenche un envoi imm�diat au widget d'un �v�nement GraphicsSceneResize avec les tailles nouvelle et ancienne du widget. Si le widget est associ� � une disposition (layout) au moment de l'�v�nement, la disposition va s'activer et va automatiquement mettre � jour la g�om�trie des widgets enfants. Cette propri�t� n'affecte pas la disposition du widget parent. Si le widget lui-m�me est g�r� par la disposition du parent (par exemple, si une disposition a �t� affect�e au widget parent), cette disposition ne s'activera pas. Par d�faut, cette propri�t� contient une taille avec une largeur et une hauteur � z�ro. Fonctions d'acc�sQSizeF size () const void resize ( const QSizeF & size ) void resize ( qreal w, qreal h ) Signal de notification : void geometryChanged () Voir aussi setGeometry(), QGraphicsSceneResizeEvent et QGraphicsLayout. sizePolicy : const QSizePolicyCette propri�t� contient les r�gles de taille pour le widget. Voir aussi sizePolicy(), setSizePolicy() et QWidget::sizePolicy(). windowFlags : Qt::WindowFlagsCette propri�t� contient les drapeaux de fen�tre du widget. Les drapeaux de fen�tre sont une combinaison d'un type de fen�tre (par exemple, Qt::Dialog) et de plusieurs drapeaux donnant des indications sur le comportement de la fen�tre. Ce comportement est d�pendant de la plateforme. Par d�faut, cette propri�t� ne contient pas de drapeau de fen�tre. Les fen�tres sont des panneaux. Si vous activez le drapeau Qt::Window, le drapeau ItemIsPanel sera activ� automatiquement. Si vous d�sactivez le drapeau Qt::Window, le drapeau ItemIsPanel sera �galement d�sactiv�. Notez que le drapeau ItemIsPanel peut �tre activ� ind�pendamment de Qt::Window. Fonctions d'acc�sQt::WindowFlags windowFlags () const void setWindowFlags ( Qt::WindowFlags wFlags ) Voir aussi isWindow() et isPanel(). windowTitle : QStringCette propri�t� contient le titre de la fen�tre. Cette propri�t� est uniquement utilis�e pour les fen�tres. Par d�faut, si aucun titre n'a �t� sp�cifi�, cette propri�t� contient une cha�ne vide. Fonctions d'acc�sQString windowTitle () const void setWindowTitle ( const QString & title ) Fonctions membresQGraphicsWidget::QGraphicsWidget ( QGraphicsItem * parent = 0, Qt::WindowFlags wFlags = 0 )Construit une instance de QGraphicsWidget. L'argument optionnel parent est pass� au constructeur de QGraphicsItem. L'argument optionnel wFlags sp�cifie les drapeaux de fen�tre du widget (par exemple, si le widget doit �tre une fen�tre, une barre d'outils, une popup, etc.). QGraphicsWidget::~QGraphicsWidget ()D�truit l'instance de QGraphicsWidget. QList<QAction *> QGraphicsWidget::actions () constRenvoie la liste (�ventuellement vide) des actions du widget. Cette fonction a �t� introduite dans Qt 4.5. Voir aussi insertAction(), removeAction(), QWidget::actions(), QAction::associatedWidgets() et QAction::associatedGraphicsWidgets(). void QGraphicsWidget::addAction ( QAction * action )Ajoute l'action � la liste des actions du widget. Tous les QGraphicsWidgets poss�dent une liste de QAction, cependant elles peuvent �tre repr�sent�es graphiquement de diff�rentes fa�ons. L'usage par d�faut de la liste des QAction (telle que renvoy�e par actions()) est de cr�er un QMenu contextuel. Un QGraphicsWidget ne doit poss�der qu'un seul exemplaire de chaque action et l'ajout d'une action qu'il poss�de d�j� ne causera pas la duplication de cette action. Cette fonction a �t� introduite dans Qt 4.5. Voir aussi removeAction(), insertAction(), actions() et QWidget::addAction(). void QGraphicsWidget::addActions ( QList<QAction *> actions )Ajoute les actions � la liste des actions du widget. Cette fonction a �t� introduite dans Qt 4.5. Voir aussi removeAction(), QMenu, addAction() et QWidget::addActions(). void QGraphicsWidget::adjustSize ()Ajuste la taille du widget � sa taille pr�f�r�e effective. Cette fonction est appel�e implicitement lorsque l'�l�ment est affich� pour la premi�re fois. Voir aussi effectiveSizeHint() et Qt::MinimumSize. QRectF QGraphicsWidget::boundingRect () const [virtual]R�impl�mentation de QGraphicsItem::boundingRect(). void QGraphicsWidget::changeEvent ( QEvent * event ) [virtual protected]Ce gestionnaire d'�v�nements peut �tre r�impl�ment� pour traiter les changements d'�tat. event permet de conna�tre l'�tat qui a �t� chang� dans cet �v�nement. Les �v�nements de changement incluent : QEvent::ActivationChange, QEvent::EnabledChange, QEvent::FontChange, QEvent::StyleChange, QEvent::PaletteChange, QEvent::ParentChange, QEvent::LayoutDirectionChange et QEvent::ContentsRectChange. bool QGraphicsWidget::close () [slot]Appelez cette fonction pour fermer le widget. Renvoie true si le widget a �t� ferm� ; sinon renvoie false. Cette fonction va d'abord envoyer un �v�nement QCloseEvent au widget, qui peut accepter ou non l'�v�nement. Si l'�v�nement a �t� ignor�, rien ne se passe. Si l'�v�nement a �t� accept�, le widget va �tre masqu�. Si l'attribut Qt::WA_DeleteOnClose du widget est activ�, le widget sera supprim�. void QGraphicsWidget::closeEvent ( QCloseEvent * event ) [virtual protected]Ce gestionnaire d'�v�nements, pour event, peut �tre r�impl�ment� dans une classe d�riv�e pour traiter les �v�nements de fermeture du widget. L'impl�mentation par d�faut accepte l'�v�nement. Voir aussi close() et QCloseEvent. bool QGraphicsWidget::event ( QEvent * event ) [virtual protected]R�impl�mentation de QObject::event(). Traite l'�v�nement event. QGraphicsWidget g�re les �v�nements suivants.
void QGraphicsWidget::focusInEvent ( QFocusEvent * event ) [virtual protected]R�impl�mentation de QGraphicsItem::focusInEvent(). bool QGraphicsWidget::focusNextPrevChild ( bool next ) [virtual protected]Trouve un nouveau widget auquel donner le focus clavier, pour la touche Tab ou pour Shift+Tab, et renvoie true si elle a trouv� un nouveau widget ; renvoie false sinon. Si next vaut true, cette fonction cherche en avant ; si next vaut false, elle cherche en arri�re. Vous aurez parfois besoin de r�impl�menter cette fonction pour d�finir une gestion sp�ciale du focus pour votre widget et ses sous-widgets. Par exemple, un navigateur web pourrait la r�impl�menter pour d�placer le lien actif vers l'avant ou vers l'arri�re et n'appeler l'impl�mentation qu'en atteignant le premier ou le dernier lien de la page. Les widgets enfants appellent focusNextPrevChild() sur leur widget parent mais seule la fen�tre contenant les widgets enfants d�cide d'o� rediriger le focus. En r�impl�mentant cette fonction pour un objet, vous prenez le contr�le de la travers�e du focus pour tous les widgets enfants. Voir aussi focusPolicy(). void QGraphicsWidget::focusOutEvent ( QFocusEvent * event ) [virtual protected]R�impl�mentation de QGraphicsItem::focusOutEvent(). QGraphicsWidget * QGraphicsWidget::focusWidget () constSi ce widget, un enfant ou un descendant de ce widget poss�de actuellement le focus de saisie, cette fonction renverra un pointeur vers ce widget. Si aucun widget descendant ne poss�de le focus, elle renvoie 0. Voir aussi QGraphicsItem::focusItem() et QWidget::focusWidget(). void QGraphicsWidget::geometryChanged () [signal]Ce signal est �mis � chaque fois que la g�om�trie est chang�e dans setGeometry(). void QGraphicsWidget::getContentsMargins ( qreal * left, qreal * top, qreal * right, qreal * bottom ) const [virtual]R�impl�mentation de QGraphicsLayoutItem::getContentsMargins(). Donne les marges du contenu du widget. Les marges sont enregistr�es dans left, top, right et bottom, qui sont des pointeurs vers des flottants. Chaque argument peut �tre « omis » en passant 0. Voir aussi setContentsMargins(). void QGraphicsWidget::getWindowFrameMargins ( qreal * left, qreal * top, qreal * right, qreal * bottom ) constDonne les marges de la bordure de fen�tre du widget. Les marges sont enregistr�es dans left, top, right et bottom, qui sont des pointeurs vers des flottants. Chaque argument peut �tre « omis » en passant 0. Voir aussi setWindowFrameMargins() et windowFrameRect(). void QGraphicsWidget::grabKeyboardEvent ( QEvent * event ) [virtual protected]Ce gestionnaire d'�v�nements, pour event, peut �tre r�impl�ment� dans une classe d�riv�e pour recevoir les notifications pour les �v�nements Qt::GrabKeyboard. Voir aussi grabKeyboard() et grabMouse(). void QGraphicsWidget::grabMouseEvent ( QEvent * event ) [virtual protected]Ce gestionnaire d'�v�nements, pour event, peut �tre r�impl�ment� dans une classe d�riv�e pour recevoir les notifications pour les �v�nements Qt::GrabMouse. Voir aussi grabMouse() et grabKeyboard(). int QGraphicsWidget::grabShortcut ( const QKeySequence & sequence, Qt::ShortcutContext context = Qt::WindowShortcut )Ajoute un raccourci au syst�me de raccourcis de Qt attach� � la s�quence de touches sequence dans le contexte context donn�. Si le contexte est Qt::ApplicationShortcut, le raccourci s'applique � l'application enti�re. Sinon, il est soit local � ce widget (Qt::WidgetShortcut) ou � la fen�tre elle-m�me (Qt::WindowShortcut). Pour les widgets ne faisant pas partie d'une fen�tre (c'est-�-dire, les widgets de premier niveau et leurs enfants), les raccourcis Qt::WindowShortcut s'appliquent � la sc�ne. Si la m�me s�quence de touches a �t� captur�e par plusieurs widgets, lorsque la s�quence se produit, un �v�nement QEvent::Shortcut est envoy� � tous les widgets auxquels il s'applique, dans un ordre non d�terministe mais avec le drapeau ambiguous mis � true. Attention : vous ne devriez pas avoir � utiliser cette fonction ; � la place, cr�ez des QAction avec les s�quences de raccourci que vous souhaitez (si vous voulez des options de menu et des boutons de barre d'outils �quivalents) ou cr�ez des QShortcuts si vous avez juste besoin des s�quences de touches. QAction et QShortcut g�rent toutes les deux le filtrage des �v�nements pour vous et fournissent des signaux qui sont d�clench�s lorsque l'utilisateur d�clenche la s�quence de touches, donc sont beaucoup plus faciles � utiliser que cette fonction de bas niveau. Cette fonction a �t� introduite dans Qt 4.5. Voir aussi releaseShortcut(), setShortcutEnabled() et QWidget::grabShortcut(). void QGraphicsWidget::hideEvent ( QHideEvent * event ) [virtual protected]Ce gestionnaire d'�v�nements, pour les �v�nements Hide, est transmis apr�s que le widget ait �t� cach�, par exemple si setVisible(false) a �t� appel� pour ce widget ou un de ses anc�tres alors que le widget �tait pr�c�demment visible. Vous pouvez r�impl�menter ce gestionnaire d'�v�nements pour d�tecter le masquage de votre widget. L'appel de QEvent::accept() ou QEvent::ignore() sur event n'a pas d'effet. Voir aussi showEvent(), QWidget::hideEvent() et ItemVisibleChange. void QGraphicsWidget::hoverLeaveEvent ( QGraphicsSceneHoverEvent * event ) [virtual protected]R�impl�mentation de QGraphicsItem::hoverLeaveEvent(). void QGraphicsWidget::hoverMoveEvent ( QGraphicsSceneHoverEvent * event ) [virtual protected]R�impl�mentation de QGraphicsItem::hoverMoveEvent(). void QGraphicsWidget::initStyleOption ( QStyleOption * option ) const [virtual protected]Renseigne un objet option de style pour ce widget bas� sur son �tat courant et enregistre le r�sultat dans option. L'impl�mentation par d�faut renseigne option avec les propri�t�s suivantes.
Les classes d�riv�es de QGraphicsWidget doivent appeler l'impl�mentation de base et ensuite tester le type d'option en utilisant qstyleoption_cast<>() ou tester QStyleOption::Type avant d'enregistrer des options sp�cifiques au widget. Par exemple : void MyGroupBoxWidget::initStyleOption(QStyleOption *option) const { QGraphicsWidget::initStyleOption(option); if (QStyleOptionGroupBox *box = qstyleoption_cast<QStyleOptionGroupBox *>(option)) { // Ajout de l'�tat sp�cifique � la GroupBox. box->flat = isFlat(); ... } } Voir aussi QStyleOption::initFrom(). void QGraphicsWidget::insertAction ( QAction * before, QAction * action )Ins�re l'action action � la liste des actions de ce widget, avant l'action before. Ajoute l'action m�me si before est 0 ou si before n'est pas une action valide pour ce widget. Un QGraphicsWidget ne doit poss�der qu'un exemplaire de chaque action. Cette fonction a �t� introduite dans Qt 4.5. Voir aussi removeAction(), addAction(), QMenu, actions() et QWidget::insertActions(). void QGraphicsWidget::insertActions ( QAction * before, QList<QAction *> actions )Ins�re les actions action � la liste des actions de ce widget, avant l'action before. Ajoute l'action m�me si before est 0 ou si before n'est pas une action valide pour ce widget. Un QGraphicsWidget ne doit poss�der qu'un exemplaire de chaque action. Cette fonction a �t� introduite dans Qt 4.5. Voir aussi removeAction(), QMenu, insertAction() et QWidget::insertActions(). bool QGraphicsWidget::isActiveWindow () constRenvoie true si la fen�tre de ce widget est dans la fen�tre active ou si le widget n'a pas de fen�tre mais est dans une sc�ne active (c'est-�-dire une sc�ne qui poss�de actuellement le focus). La fen�tre active est la fen�tre qui, soit contient un widget enfant poss�dant actuellement le focus de saisie, soit poss�de elle-m�me le focus de saisie. Voir aussi QGraphicsScene::activeWindow(), QGraphicsScene::setActiveWindow() et isActive(). QVariant QGraphicsWidget::itemChange ( GraphicsItemChange change, const QVariant & value ) [virtual protected]R�impl�mentation de QGraphicsItem::itemChange(). QGraphicsWidget utilise l'impl�mentation de base de cette fonction pour capturer et transmettre les �v�nements li�s aux changements d'�tat dans l'�l�ment. Pour cette raison, il est tr�s important que les classes d�riv�es appellent l'impl�mentation de base. change sp�cifie le type de changement et value est la nouvelle valeur. Par exemple, QGraphicsWidget utilise ItemVisibleChange pour envoyer les �v�nements Show et Hide, ItemPositionHasChanged pour envoyer les �v�nements Move et ItemParentChange � la fois pour envoyer les �v�nements ParentChange et pour g�rer la cha�ne de focus. QGraphicsWidget active le drapeau ItemSendsGeometryChanges par d�faut afin de suivre les changements de position. Voir aussi QGraphicsItem::itemChange(). void QGraphicsWidget::moveEvent ( QGraphicsSceneMoveEvent * event ) [virtual protected]Ce gestionnaire d'�v�nements, pour les �v�nements GraphicsSceneMove], est appel� apr�s un d�placement du widget (par exemple, si sa position locale a chang�). Cet �v�nement est transmis seulement si l'�l�ment est d�plac� localement. L'appel de [[qgraphicsitem::setTransform|setTransform() ou le d�placement des anc�tres de l'�l�ment n'affecte pas la position locale de l'�l�ment. Vous pouvez r�impl�menter ce gestionnaire d'�v�nements pour d�tecter si votre widget est d�plac�. L'appel de QEvent::accept() ou QEvent::ignore() sur event n'a pas d'effet. Voir aussi ItemPositionChange et ItemPositionHasChanged. void QGraphicsWidget::paint ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 ) [virtual]R�impl�mentation de QGraphicsItem::paint(). void QGraphicsWidget::paintWindowFrame ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 ) [virtual]Cette fonction virtuelle est appel�e par QGraphicsScene pour le dessin de la bordure des fen�tres en utilisant painter, option et widget, en coordonn�es locales. L'impl�mentation de base utilise le style courant pour le rendu de la bordure et de la barre de titre. Vous pouvez r�impl�menter cette fonction dans une classe d�riv�e de QGraphicsWidget pour fournir un rendu personnalis� de la bordure de fen�tre du widget. Voir aussi QGraphicsItem::paint(). void QGraphicsWidget::polishEvent () [virtual protected]Cet �v�nement est transmis � l'�l�ment par la sc�ne apr�s qu'il ait �t� construit mais avant qu'il ait �t� affich� ou acc�d� � travers la sc�ne. Vous pouvez utiliser ce gestionnaire d'�v�nements pour des initialisations finales du widget n�cessitant une construction compl�te de l'�l�ment. L'impl�mentation de base ne fait rien. QRectF QGraphicsWidget::rect () constRenvoie le rectangle local de l'�l�ment sous forme d'un QRectF. Cette fonction est �quivalente � QRectF(QPointF(), size()). Voir aussi setGeometry() et resize(). void QGraphicsWidget::releaseShortcut ( int id )Retire le raccourci poss�dant l'identifiant id donn� du syst�me de raccourcis de Qt. Le widget ne recevra plus d'�v�nements QEvent::Shortcut pour la s�quence de touches de l'�v�nement (sauf s'il poss�de d'autres raccourcis sur la m�me s�quence). Attention : vous ne devriez pas avoir � utiliser cette fonction �tant donn� que le syst�me de raccourcis de Qt retire automatiquement les raccourcis quand leur widget parent est d�truit. Il est pr�f�rable d'utiliser QAction ou QShortcut pour g�rer les raccourcis, �tant donn� qu'ils sont plus faciles � utiliser que cette fonction de bas niveau. Notez �galement que cette op�ration est co�teuse. Cette fonction a �t� introduite dans Qt 4.5. Voir aussi grabShortcut(), setShortcutEnabled() et QWidget::releaseShortcut(). void QGraphicsWidget::removeAction ( QAction * action )Retire l'action action de la liste des actions de ce widget. Cette fonction a �t� introduite dans Qt 4.5. Voir aussi insertAction(), actions(), insertAction() et QWidget::removeAction(). void QGraphicsWidget::resizeEvent ( QGraphicsSceneResizeEvent * event ) [virtual protected]Ce gestionnaire d'�v�nements, pour les �v�nements GraphicsSceneResize, est appel� apr�s que le widget ait �t� redimensionn� (c'est-�-dire, que sa taille locale ait chang�). event contient � la fois l'ancienne et la nouvelle taille. Cet �v�nement n'est envoy� que si le widget est redimensionn� localement ; l'appel de setTransform() sur le widget ou un de ses anc�tres ou sa vue, n'affecte pas la taille locale du widget. Vous pouvez r�impl�menter ce gestionnaire d'�v�nements pour d�tecter les redimensionnements de vos widgets. L'appel de QEvent::accept() ou QEvent::ignore() sur event n'a pas d'effet. Voir aussi geometry() et setGeometry(). bool QGraphicsWidget::sceneEvent ( QEvent * event ) [virtual protected]R�impl�mentation de QGraphicsItem::sceneEvent(). L'impl�mentation de sceneEvent() par QGraphicsWidget passe simplement event � QGraphicsWidget::event(). Vous pouvez traiter tous les �v�nements de votre widget dans event() ou dans une des fonctions utilitaires apparent�es ; vous ne devriez pas avoir � r�impl�menter cette fonction dans une classe d�riv�e de QGraphicsWidget. Voir aussi QGraphicsItem::sceneEvent(). void QGraphicsWidget::setAttribute ( Qt::WidgetAttribute attribute, bool on = true )Si on vaut true, cette fonction active attribute ; sinon attribute est d�sactiv�. Voir la documentation de la classe QGraphicsWidget pour une liste compl�te des attributs qui sont g�r�s et de ceux qui ne le sont pas. Voir aussi testAttribute() et QWidget::setAttribute(). void QGraphicsWidget::setContentsMargins ( qreal left, qreal top, qreal right, qreal bottom )Fixe les valeurs de marge de contenu du widget � left, top, right et bottom. Les marges de contenu sont utilis�es par la disposition (layout) affect�e au widget pour d�finir le placement des sous-widgets et dispositions. Les marges sont particuli�rement utiles pour les widgets qui contraignent leurs sous-widgets � n'occuper qu'une portion de leur propre g�om�trie. Par exemple, une bo�te de groupement (group box) avec une disposition va placer les sous-widgets dans son cadre mais sous le titre. Le changement des marges de contenu d'un widget d�clenchera syst�matiquement un update() et une disposition affect�e sera automatiquement activ�e. Le widget recevra alors un �v�nement ContentsRectChange. Voir aussi getContentsMargins() et setGeometry(). void QGraphicsWidget::setShortcutAutoRepeat ( int id, bool enabled = true )Si enabled vaut true, la r�p�tition automatique du raccourci ayant l'indentifiant id est activ�e ; sinon elle est d�sactiv�e. Cette fonction a �t� introduite dans Qt 4.5. Voir aussi grabShortcut(), releaseShortcut() et QWidget::setShortcutAutoRepeat(). void QGraphicsWidget::setShortcutEnabled ( int id, bool enabled = true )Si enabled vaut true, le raccourci ayant l'indentifiant id est activ� ; sinon il est d�sactiv�. Attention : vous ne devriez pas avoir � utiliser cette fonction �tant donn� que le syst�me de raccourcis de Qt active/d�sactive automatiquement les raccourcis quand leur widget devient visible/invisible ou obtient/perd le focus. Il est pr�f�rable d'utiliser QAction ou QShortcut pour g�rer les raccourcis, �tant donn� qu'ils sont plus faciles � utiliser que cette fonction de bas niveau. Cette fonction a �t� introduite dans Qt 4.5. Voir aussi grabShortcut(), releaseShortcut() et QWidget::setShortcutEnabled(). void QGraphicsWidget::setStyle ( QStyle * style )Sp�cifie style comme style du widget. QGraphicsWidget ne devient pas propri�taire de style. Si aucun style n'est affect� ou si style vaut 0, le widget utilisera QGraphicsScene::style() (s'il a �t� d�fini). Sinon le widget utilisera QApplication::style(). Cette fonction active l'attribut Qt::WA_SetStyle si style est diff�rent de 0 ; sinon il d�sactive l'attribut. Voir aussi style(). void QGraphicsWidget::setTabOrder ( QGraphicsWidget * first, QGraphicsWidget * second ) [static]D�place le widget second dans la liste circulaire des focus des widgets afin que le focus clavier se d�place du widget first au widget second lorsque la touche de tabulation est appuy�e. Notez qu'�tant donn� que l'ordre de tabulation du widget second est modifi�, vous devez ordonner une cha�ne de cette fa�on : setTabOrder(a, b); // a => b setTabOrder(b, c); // a => b => c setTabOrder(c, d); // a => b => c => d et non de cette fa�on : // FAUX setTabOrder(c, d); // c => d setTabOrder(a, b); // a => b ET c => d setTabOrder(b, c); // a => b => c mais pas c => d Si first vaut 0, cela indique que second devrait �tre le premier widget � recevoir le focus de saisie lorsque la sc�ne obtient le focus par tabulation (c'est-�-dire, lorsque l'utilisateur utilise Tab et qu'en cons�quence le focus est donn� � la sc�ne). Si second vaut 0, cela indique que first doit �tre le premier widget � obtenir le focus lorsque la sc�ne obtient le focus par tabulation arri�re. Par d�faut, l'ordre de tabulation est d�fini implicitement par l'ordre de cr�ation des widgets. Voir aussi focusPolicy et Keyboard Focus. void QGraphicsWidget::setWindowFrameMargins ( qreal left, qreal top, qreal right, qreal bottom )Sp�cifie left, top, right et bottom comme marges de bordure de fen�tre du widget. Les marges de bordure par d�faut sont fournies par le style et d�pendent des drapeaux de fen�tre par d�faut. Si vous souhaitez dessiner vos propres d�corations de fen�tre, vous pouvez d�finir vos propres marges de bordure en remplacement des marges par d�faut. Voir aussi unsetWindowFrameMargins(), getWindowFrameMargins() et windowFrameRect(). QPainterPath QGraphicsWidget::shape () const [virtual]R�impl�mentation de QGraphicsItem::shape(). void QGraphicsWidget::showEvent ( QShowEvent * event ) [virtual protected]Ce gestionnaire d'�v�nements, pour les �v�nements Show, est appel� avant que le widget ait �t� affich�, par exemple si setVisible(true) a �t� appel� pour ce widget ou un de ses anc�tres alors que le widget �tait pr�c�demment cach�. Vous pouvez r�impl�menter ce gestionnaire d'�v�nements pour d�tecter que votre widget devient visible. L'appel de QEvent::accept() ou QEvent::ignore() sur event n'a pas d'effet. Voir aussi hideEvent(), QWidget::showEvent() et ItemVisibleChange. QSizeF QGraphicsWidget::sizeHint ( Qt::SizeHint which, const QSizeF & constraint = QSizeF() ) const [virtual protected]R�impl�mentation de QGraphicsLayoutItem::sizeHint(). QStyle * QGraphicsWidget::style () constRenvoie un pointeur vers le style du widget. Si ce widget n'a pas de style explicitement sp�cifi�, la fonction renvoie le style de la sc�ne, et si la sc�ne n'a pas non plus de style explicitement sp�cifi�, elle renvoie QApplication::style(). Voir aussi setStyle(). bool QGraphicsWidget::testAttribute ( Qt::WidgetAttribute attribute ) constRenvoie true si attribute est activ� pour ce widget ; sinon, renvoie false. Voir aussi setAttribute(). int QGraphicsWidget::type () const [virtual]R�impl�mentation de QGraphicsItem::type(). void QGraphicsWidget::ungrabKeyboardEvent ( QEvent * event ) [virtual protected]Ce gestionnaire d'�v�nements, pour event, peut �tre r�impl�ment� dans une classe d�riv�e pour recevoir les notifications des �v�nements Qt::UngrabKeyboard. Voir aussi ungrabKeyboard() et ungrabMouse(). void QGraphicsWidget::ungrabMouseEvent ( QEvent * event ) [virtual protected]Ce gestionnaire d'�v�nements, pour event, peut �tre r�impl�ment� dans une classe d�riv�e pour recevoir les notifications des �v�nements Qt::UngrabMouse. Voir aussi ungrabMouse() et ungrabKeyboard(). void QGraphicsWidget::unsetWindowFrameMargins ()R�initialise les marges de bordure de la fen�tre � la valeur par d�faut, fournie par le style. Voir aussi setWindowFrameMargins(), getWindowFrameMargins() et windowFrameRect(). void QGraphicsWidget::updateGeometry () [virtual protected]R�impl�mentation de QGraphicsLayoutItem::updateGeometry(). Si ce widget est actuellement g�r� par une disposition (layout), cette fonction notifie la disposition que les indications de taille du widget ont chang� et que la disposition peut devoir redimensionner et repositionner le widget en cons�quence. Appelez cette fonction si le sizeHint() du widget a chang�. Voir aussi QGraphicsLayout::invalidate(). bool QGraphicsWidget::windowFrameEvent ( QEvent * event ) [virtual protected]Ce gestionnaire d'�v�nements, pour event, re�oit les �v�nements pour la bordure de fen�tre si le widget est une fen�tre. Son impl�mentation de base g�re les interactions de fen�tre par d�faut comme le d�placement, le redimensionnement, etc. Vous pouvez r�impl�menter ce gestionnaire dans une classe d�riv�e de QGraphicsWidget pour fournir votre propre gestion de l'interaction avec la bordure de fen�tre. Renvoie true si event a �t� reconnu et trait� ; sinon, renvoie false. Voir aussi event(). QRectF QGraphicsWidget::windowFrameGeometry () constRenvoie la g�om�trie du widget en coordonn�es du parent en incluant une �ventuelle bordure. Voir aussi windowFrameRect(), getWindowFrameMargins() et setWindowFrameMargins(). QRectF QGraphicsWidget::windowFrameRect () constRenvoie le rectangle local du widget, incluant une �ventuelle bordure. Voir aussi windowFrameGeometry(), getWindowFrameMargins() et setWindowFrameMargins(). Qt::WindowFrameSection QGraphicsWidget::windowFrameSectionAt ( const QPointF & pos ) const [virtual protected]Renvoie la section de bordure de fen�tre � la position pos ou Qt::NoSection s'il n'existe pas de section de bordure de fen�tre � cette position. Cette fonction est utilis�e dans l'impl�mentation de base de QGraphicsWidget pour l'interaction avec les bordures de fen�tre. Vous pouvez r�impl�menter cette fonction si vous d�sirez modifier la fa�on dont une fen�tre peut �tre interactivement d�plac�e ou redimensionn�e. Par exemple, si vous ne voulez autoriser le redimensionnement que depuis le coin inf�rieur droit, vous pouvez r�impl�menter cette fonction pour renvoyer Qt::NoSection pour toutes les sections sauf Qt::BottomRightSection. Cette fonction a �t� introduite dans Qt 4.4. Voir aussi windowFrameEvent(), paintWindowFrame() et windowFrameGeometry(). Qt::WindowType QGraphicsWidget::windowType () constRenvoie le type de fen�tre du widget. Voir aussi windowFlags(), isWindow() et isPanel(). RemerciementsMerci � Ilya Diallo pour la traduction ainsi qu'� Jonathan Courtois et Claude Leloup pour leur relecture ! |
Publicit�
Best OfActualit�s les plus luesSemaine
Mois
Ann�e
![]()
![]() Le Qt Labs au hasard![]() Le moteur de rendu OpenVGLes Qt Labs sont les laboratoires des d�veloppeurs de Qt, o� ils peuvent partager des impressions sur le framework, son utilisation, ce que pourrait �tre son futur. Lire l'article.
Communaut�Ressources
Liens utilesContact
Qt dans le magazine |
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 © 2012 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 ? Un bug ? 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 ! |
Copyright © 2000-2012 - www.developpez.com