0
点赞
收藏
分享

微信扫一扫

pyqt5转pyqt6需要注意的事项

Ewall_熊猫 2022-01-23 阅读 171
pythonpyqt

@[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的不同点

举报

相关推荐

PYQT5 和PYQT6的区别

pyQT5

linux pyqt5

PYQT5 001

【PYQT5】retranslateUi()

0 条评论