summaryrefslogtreecommitdiffstats
path: root/src/widgets/doc/src/qt6-changes.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/doc/src/qt6-changes.qdoc')
-rw-r--r--src/widgets/doc/src/qt6-changes.qdoc127
1 files changed, 97 insertions, 30 deletions
diff --git a/src/widgets/doc/src/qt6-changes.qdoc b/src/widgets/doc/src/qt6-changes.qdoc
index 4f0379a2f6..c4d757fe6d 100644
--- a/src/widgets/doc/src/qt6-changes.qdoc
+++ b/src/widgets/doc/src/qt6-changes.qdoc
@@ -1,35 +1,11 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\page widgets-changes-qt6.html
- \title Porting to Qt 6 - Qt Widgets
- \ingroup porting-guides-5-to-6
- \brief Migrate Qt Widgets to Qt 6.
+ \title Changes to Qt Widgets
+ \ingroup changes-qt-5-to-6
+ \brief Changes in Kernel classes, Widgets, ItemViews, and Utility Classes.
Qt 6 is a result of the conscious effort to make the framework more
efficient and easy to use.
@@ -41,6 +17,97 @@
In this topic we summarize those changes in Qt Widgets, and provide
guidance to handle them.
- \section1 ADD STUFF HERE
+ \section1 Kernel classes
+ \section2 The QWidget class
+
+ The virtual QWidget::enterEvent() handler now receives a QEnterEvent*
+ parameter which has information about the pointer position, rather than
+ a plain QEvent*.
+
+ \section2 QDesktopWidget and QApplication::desktop()
+
+ QDesktopWidget was already deprecated in Qt 5, and has been removed in
+ Qt 6, together with QApplication::desktop().
+
+ QScreen provides equivalent functionality to query for information about
+ available screens, screen that form a virtual desktop, and screen
+ geometries.
+
+ Use QWidget::setScreen() to create a QWidget on a specific display;
+ note that this does not move a widget to a screen in a virtual desktop
+ setup.
+
+ \section2 QAction, QActionGroup
+
+ These classes have been moved into the QtGui module. Member functions that
+ depend on types defined in QtWidgets (such as QAction::menu() and
+ QAction::setMenu()) are implemented as templates that will be instantiated
+ only when called.
+
+ \section1 Widgets
+
+ \section2 The QAbstractButton class
+
+ The default timeout parameter for QAbstractButton::animateClick() is
+ removed to allow modern connection syntax without the need for qOverload.
+
+ \section2 The QComboBox class
+
+ The QComboBox::setModel() function is now virtual.
+
+ \section2 The QDateTimeEdit class
+
+ When QDateTimeEdit::setDateTime() is called with a date-time whose
+ time-spec doesn't match that of the QDateTimeEdit instance, the
+ date-time is converted to the time-spec of the QDateTimeEdit. This
+ gives a date-time that describes the same instant in time, but
+ does so in the same terms as the QDateTimeEdit uses. Previously,
+ the date and time from the passed date-time were combined with the
+ time-spec of the widget, ignoring the time-spec of the date-time;
+ this could describe a different point in time than the one
+ described by the date-time passed.
+
+ \section1 ItemViews
+
+ \section2 The QAbstractItemView class
+
+ The virtual viewOptions() method that previously returned a QStyleOptionViewItem
+ object has been renamed to initViewItemOption, and initializes a
+ QStyleOptionViewItem object that's passed in through a pointer.
+
+ \section1 Styling Classes and related APIs
+
+ All versioned QStyleOption subclasses are consolidated, and the version
+ numbers are reset to 1.
+
+ The various initStyleOption() methods in widget classes are now virtual.
+
+ \section2 Style sheet changes
+
+ Styling a widget by its property in Qt 5 vs Qt 6 is different, especially if the
+ property is an enum. In Qt 5, the selector value for such a property is the integer
+ equivalent of the enum value, while in Qt 6 the string value is used. The following
+ example demonstrates this difference:
+
+ \code
+ // Qt 5 style sheet
+ QToolButton[popupMode="1"] {
+ padding-right: 20px;
+ }
+ \endcode
+
+ \code
+ // Qt 6 style sheet
+ QToolButton[popupMode=MenuButtonPopup] {
+ padding-right: 20px;
+ }
+ \endcode
+
+ \section1 Utility Classes
+
+ \section2 QUndoCommand, QUndoStack, and QUndoGroup
+
+ The widget independent classes of the Undo/Redo framework have been moved
+ into the QtGui module.
*/