Les changements apportés à Qt Widgets
Qt 6 est le résultat d'un effort conscient pour rendre le framework plus efficace et plus facile à utiliser.
Nous essayons de maintenir la compatibilité binaire et source pour toutes les API publiques dans chaque version. Mais certains changements étaient inévitables dans un effort pour faire de Qt un meilleur framework.
Dans cette rubrique, nous résumons ces changements dans Qt Widgets, et fournissons des conseils pour les gérer.
Classes du noyau
La classe QWidget
Le gestionnaire virtuel QWidget::enterEvent() reçoit désormais un paramètre QEnterEvent* contenant des informations sur la position du pointeur, plutôt qu'un simple QEvent*.
QDesktopWidget et QApplication::desktop()
QDesktopWidget était déjà obsolète dans Qt 5, et a été supprimé dans Qt 6, en même temps que QApplication::desktop().
QScreen QDesktopWidget() fournit une fonctionnalité équivalente pour demander des informations sur les écrans disponibles, les écrans qui forment un bureau virtuel et les géométries d'écran.
Utilisez QWidget::setScreen() pour créer un QWidget sur un écran spécifique ; notez que cela ne déplace pas un widget vers un écran dans une configuration de bureau virtuel.
QAction, QActionGroup
Ces classes ont été déplacées dans le module QtGui. Les fonctions membres qui dépendent de types définis dans QtWidgets (comme QAction::menu() et QAction::setMenu()) sont implémentées en tant que modèles qui ne seront instanciés que lorsqu'ils seront appelés.
Widgets
La classe QAbstractButton
Le paramètre de délai par défaut pour QAbstractButton::animateClick() est supprimé pour permettre une syntaxe de connexion moderne sans avoir besoin de qOverload.
La classe QComboBox
La fonction QComboBox::setModel() est désormais virtuelle.
La classe QDateTimeEdit
Lorsque QDateTimeEdit::setDateTime() est appelé avec une date-heure dont la spécification temporelle ne correspond pas à celle de l'instance QDateTimeEdit, la date-heure est convertie dans la spécification temporelle de QDateTimeEdit. Cela donne une date-heure qui décrit le même instant dans le temps, mais dans les mêmes termes que ceux utilisés par QDateTimeEdit. Auparavant, la date et l'heure de la date-heure transmise étaient combinées avec la spécification temporelle du widget, sans tenir compte de la spécification temporelle de la date-heure, ce qui pouvait décrire un moment différent de celui décrit par la date-heure transmise.
Vues d'éléments
La classe QAbstractItemView
La méthode virtuelle viewOptions(), qui renvoyait auparavant un objet QStyleOptionViewItem, a été renommée initViewItemOption et initialise un objet QStyleOptionViewItem transmis par le biais d'un pointeur.
Classes de style et API associées
Toutes les sous-classes versionnées de QStyleOption sont consolidées et les numéros de version sont réinitialisés à 1.
Les différentes méthodes initStyleOption() des classes de widgets sont désormais virtuelles.
Changements dans la feuille de style
Le style d'un widget par sa propriété est différent dans Qt 5 par rapport à Qt 6, en particulier si la propriété est une énumération. Dans Qt 5, la valeur du sélecteur pour une telle propriété est l'équivalent entier de la valeur de l'enum, alors que dans Qt 6, c'est la valeur de la chaîne qui est utilisée. L'exemple suivant illustre cette différence :
// Qt 5 style sheet QToolButton[popupMode="1"] { padding-right: 20px; }
// Qt 6 style sheet QToolButton[popupMode=MenuButtonPopup] { padding-right: 20px; }
Classes utilitaires
QUndoCommand, QUndoStack et QUndoGroup
Les classes indépendantes des widgets du cadre Undo/Redo ont été déplacées dans le module QtGui.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.