Qt小部件的更改
Qt 6是经过故意努力使框架更高效、更易用的结果。
我们试图在每次发布中保持所有公开API的二进制和源兼容性。但为了使Qt成为一个更好的框架,一些更改是不可避免的。
在本主题中,我们总结了Qt小部件的这些更改,并提供处理它们的指导。
内核类
The 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)的成员函数实现为模板,只有在调用时才会实例化。
控件
The QAbstractButton类
QAbstractButton::animateClick()的默认超时参数已被移除,以允许使用现代连接语法,无需使用qOverload。
The QComboBox类
现在QComboBox::setModel()函数是虚拟的。
The QDateTimeEdit类
当调用QDateTimeEdit::setDateTime() 并传入一个时间戳与QDateTimeEdit实例的时间戳不匹配时,该时间戳会被转换为QDateTimeEdit实例的时间戳格式。这使得得到的时间戳描述了相同的时间点,但使用了与QDateTimeEdit相同的术语。之前,传入的日期和时间的日期与时间戳的组合与控件的时间戳相结合,忽略了时间戳;这可能描述了与传递的日期时间不同的时间点。
ItemViews
QAbstractItemView类
之前返回QStyleOptionViewItem对象的虚拟视图选项()方法已重命名为initViewItemOption,并初始化一个通过指针传入的QStyleOptionViewItem对象。
样式类和相关API
所有版本化的QStyleOption子类已合并,版本号重置为1。
控件类中的各种initStyleOption()方法现在是虚拟的。
样式表更改
在Qt 5和Qt 6中使用属性样式控件的不同,尤其是当属性是一个枚举时。在Qt 5中,此类属性的选取器值是该枚举值的整数等价物,而在Qt 6中则使用字符串值。下面的例子展示了这种差异
// Qt 5 style sheet QToolButton[popupMode="1"] { padding-right: 20px; }
// Qt 6 style sheet QToolButton[popupMode=MenuButtonPopup] { padding-right: 20px; }
实用类
QUndoCommand, QUndoStack, 和 QUndoGroup
Undo/Redo框架的不依赖于小部件的类已移动到QtGui模块中。
© 2024 Qt公司版权所有。此处包含的文档贡献是各自所有者的版权。此处提供的文档是根据免费软件基金会发布的GNU自由文档许可协议版本1.3的条款许可的。Qt和相应的徽标是芬兰的和/或世界各地的Qt公司的商标。所有其他商标均为各自所有者的财产。