Изменения в Qt Widgets
Qt 6 — результат целенаправленных усилий по повышению эффективности и удобства использования фреймворка.
Мы стараемся поддерживать бинарную и исходную совместимость всех публичных API в каждом релизе. Однако некоторые изменения были неизбежны для улучшения Qt как фреймворка.
В этой теме мы обобщаем эти изменения в Qt Widgets и предоставляем рекомендации по их обработке.
Классы ядра
Класс QWidget
Обработчик виртуального метода QWidget::enterEvent() теперь принимает параметр QEnterEvent* с информацией о позиции указателя, а не обычный QEvent*.
QDesktopWidget и QApplication::desktop()
QDesktopWidget уже был устаревшим в Qt 5 и был удален в Qt 6, вместе с QApplication::desktop().
QScreen предоставляет эквивалентную функциональность для запроса информации о доступных экранах, экранах, образующих виртуальный рабочий стол, и геометрии экрана.
Используйте QWidget::setScreen() для создания QWidget на определённом дисплее; обратите внимание, что это не перемещает виджет на экран в настройках виртуального рабочего стола.
QAction, QActionGroup
Эти классы были перемещены в модуль QtGui. Члены функций, зависящие от типов, определённых в QtWidgets (например, QAction::menu() и QAction::setMenu()), реализованы как шаблоны, которые будут инстанцированы только при вызове.
Виджеты
Класс QAbstractButton
Параметр тайм-аута по умолчанию для QAbstractButton::animateClick() удален, чтобы позволить современную синтаксис соединения без необходимости в qOverload.
Класс QComboBox
Функция QComboBox::setModel() теперь является виртуальной.
Класс QDateTimeEdit
При вызове QDateTimeEdit::setDateTime() со значением даты и времени, спецификация времени которого не совпадает со спецификацией времени экземпляра QDateTimeEdit, значение даты и времени преобразуется в спецификацию времени экземпляра QDateTimeEdit. Это даёт дату и время, описывающие тот же момент во времени, но с использованием тех же терминов, что и QDateTimeEdit. Ранее дата и время из переданного значения даты и времени объединялись со спецификацией времени виджета, игнорируя спецификацию времени значения даты и времени; это могло описывать другую точку во времени, чем та, которая описана переданным значением даты и времени.
Представления элементов
Класс QAbstractItemView
Виртуальный метод viewOptions(), который ранее возвращал объект QStyleOptionViewItem, переименован в initViewItemOption и инициализирует объект QStyleOptionViewItem, который передаётся через указатель.
Классы стилей и связанные API
Все версиированные подклассы QStyleOption объединены, а номера версий сброшены до 1.
Различные методы initStyleOption() в классах виджетов теперь являются виртуальными.
Утилитарные классы
QUndoCommand, QUndoStack и QUndoGroup
Независимые от виджетов классы фреймворка «Отмена/Повтор» были перемещены в модуль QtGui.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/widgets-changes-qt6.html