Изменения в 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() теперь является виртуальной.
Представления элементов
Класс QAbstractItemView
Виртуальный метод viewOptions(), который ранее возвращал объект QStyleOptionViewItem, был переименован в initViewItemOption и инициализирует объект QStyleOptionViewItem, который передаётся через указатель.
Классы стилей и связанные API
Все версионированные подклассы QStyleOption объединены, а номера версий сброшены до 1.
Различные методы initStyleOption() в классах виджетов теперь являются виртуальными.
Утилитарные классы
QUndoCommand, QUndoStack и QUndoGroup
Независимые от виджетов классы фреймворка Undo/Redo были перемещены в модуль QtGui.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/widgets-changes-qt6.html