@[TOC]pyqt6
pyqt5转pyqt6需要注意的事项
一、枚举类型
Pyqt5的枚举类型是用python的enum.IntEnum实现的,Pyqt6的枚举类型是是用python的enum.Enum实现的。
在Pyqt5使用枚举为:类名.枚举值
在Pyqt6使用枚举为:类名.枚举名.枚举值。
枚举名是什么需要查qt文档,或者在IDE(vs code、pycharm、sublime等)查看document说明。
常用文档:pyqt6所有类
常用文档:Qt命名空间
以下是几个样例:
# from PyQt5.QtCore import Qt
from PyQt6.QtCore import Qt
# Qt.AlignCenter
# 在https://doc.qt.io/qt-6/qt.html查到
# enum:AlignmentFlag { AlignLeft, AlignRight, AlignHCenter, AlignJustify, AlignTop, …, AlignVertical_Mask }
Qt.AlignmentFlag.AlignCenter
# Qt.RightButton
Qt.MouseButton.RightButton
Qt.MouseButton.LeftButton
# QEvent.MouseButtonPress
QEvent.Type.MouseButtonPress
#QtWidgets.QMessageBox.Yes
QtWidgets.QMessageBox.StandardButtons.Yes
# 其他枚举类型新写法:
Qt.MatchFlag.MatchExactly
Qt.ItemDataRole.UserRole
Qt.CheckState.Checked
Qt.ItemFlag.NoItemFlags
Qt.ContextMenuPolicy.CustomContextMenu
Qt.GlobalColor.red
QtGui.QFont.Weight.Bold
QtWidgets.QDialogButtonBox.ButtonRole.AcceptRole
QtWidgets.QLineEdit.EchoMode.Password
QAbstractItemView.EditTrigger.DoubleClicked
QAbstractItemView.EditTrigger.NoEditTriggers
QAbstractItemView.SelectionBehavior.SelectRows
二、取消QtWidgets.QDesktopWidget()
# 屏幕坐标、宽高
#rect = QtWidgets.QDesktopWidget().screenGeometry()
rect = QtGui.QGuiApplication.primaryScreen().availableGeometry()
三、取消QtWidgets.qApp
# QtWidgets.qApp.quit()
QApplication.quit()
QApplication.exit()
四、改变QAction所属模块
# QtWidgets.QAction
QtGui.QAction
五、删除.exec_() 、.print_()方法
六、删除Qt模块
# from PyQt5 import Qt
from PyQt6.QtCore import Qt
参阅:pyqt5与pyqt6的不同点