Los cambios introducidos en Qt Widgets
Qt 6 son el resultado del esfuerzo consciente por hacer el framework más eficiente y fácil de usar.
Intentamos mantener la compatibilidad binaria y de código fuente de todas las API públicas en cada versión. Pero algunos cambios eran inevitables en un esfuerzo por hacer de Qt un framework mejor.
En este tema resumimos esos cambios en Qt Widgets, y proporcionamos una guía para manejarlos.
Clases del núcleo
La clase QWidget
El manejador virtual QWidget::enterEvent() ahora recibe un parámetro QEnterEvent* que tiene información sobre la posición del puntero, en lugar de un simple QEvent*.
QDesktopWidget y QApplication::desktop()
QDesktopWidget ya estaba obsoleto en Qt 5, y ha sido eliminado en Qt 6, junto con QApplication::desktop().
QScreen proporciona una funcionalidad equivalente para consultar información sobre pantallas disponibles, pantallas que forman un escritorio virtual, y geometrías de pantalla.
Utilice QWidget::setScreen() para crear un QWidget en una pantalla específica; tenga en cuenta que esto no mueve un widget a una pantalla en una configuración de escritorio virtual.
QAction, QActionGroup
Estas clases se han trasladado al módulo QtGui. Las funciones miembro que dependen de tipos definidos en QtWidgets (como QAction::menu() y QAction::setMenu()) se implementan como plantillas que se instanciarán sólo cuando sean llamadas.
Widgets
La clase QAbstractButton
Se elimina el parámetro de tiempo de espera por defecto de QAbstractButton::animateClick() para permitir una sintaxis de conexión moderna sin necesidad de qOverload.
La clase QComboBox
La función QComboBox::setModel() es ahora virtual.
La clase QDateTimeEdit
Cuando se llama a QDateTimeEdit::setDateTime() con una fecha-hora cuya especificación horaria no coincide con la de la instancia QDateTimeEdit, la fecha-hora se convierte a la especificación horaria de QDateTimeEdit. De este modo se obtiene una fecha-hora que describe el mismo instante en el tiempo, pero lo hace en los mismos términos que utiliza QDateTimeEdit. Anteriormente, la fecha y la hora de la fecha-hora pasada se combinaban con la especificación de tiempo del widget, ignorando la especificación de tiempo de la fecha-hora; esto podía describir un momento diferente al descrito por la fecha-hora pasada.
ItemViews
La clase QAbstractItemView
El método virtual viewOptions() que antes devolvía un objeto QStyleOptionViewItem ha sido renombrado a initViewItemOption, e inicializa un objeto QStyleOptionViewItem que se pasa a través de un puntero.
Clases de estilo y API relacionadas
Se consolidan todas las subclases versionadas de QStyleOption y se restablecen los números de versión a 1.
Los distintos métodos initStyleOption() de las clases de widgets son ahora virtuales.
Cambios en la hoja de estilo
Estilizar un widget por su propiedad en Qt 5 vs Qt 6 es diferente, especialmente si la propiedad es un enum. En Qt 5, el valor del selector para dicha propiedad es el equivalente entero del valor enum, mientras que en Qt 6 se usa el valor cadena. El siguiente ejemplo demuestra esta diferencia:
// Qt 5 style sheet QToolButton[popupMode="1"] { padding-right: 20px; }
// Qt 6 style sheet QToolButton[popupMode=MenuButtonPopup] { padding-right: 20px; }
Clases de Utilidad
QUndoCommand, QUndoStack y QUndoGroup
Las clases independientes de widget del framework Deshacer/Rehacer se han movido al módulo 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.