PyQt6 Digia 公司的 Qt 程序的 Python 中间件。Qt库是最强大的GUI库之一。PyQt6的官网:www.riverbankcomputing.co.uk/news。PyQt6是由Riverbank Computing公司开发的
PyQt6 是基于 Python 的一系列模块。它是一个多平台的工具包,可以在包括Unix、Windows和Mac OS在内的大部分主要操作系统上运行。PyQt6 有两个许可证,开发人员可以在 GPL 和商业许可之间进行选择。
pip install PyQt6
PyQt6 类是由一系列模块组成的,包括如下的模块:
1)、 界面框架部分
主类
2)、 界面组件部分(其实也是Widget类)
3)、 界面样式部分
4)、界面交互部分
QWidget 作为页面的主体,挂载layout(框架),框架添加页面的组件,通过 action(动作,类似于点击),event(事件),signal(信号),slot(信号槽),connect(动作绑定)产生交互
通过样式类,类似于 Icon(图标),大小,颜色,字体等,修改界面的细节
widget 上需要有layout,layout可以继续添加widget,可以一直加下去
学习文档:参考First programs in PyQt6 - center window, tooltip, quit button, message box
编写一个简单的pyqt6程序
1)、创建 python 文件
#引入类
from PyQt6.QtWidgets import (
QApplication, QDialog, QPushButton, QHBoxLayout, QMessageBox
)
import sys
if __name__ == "__main__":
app = QApplication(sys.argv)
window = QDialog()
window.resize(400, 300)
#弹出窗口
def show_msg():
QMessageBox.information(window, "信息提示", "你点击了我")
hbox = QHBoxLayout()
button = QPushButton("点击我")
button.clicked.connect(show_msg)
hbox.addWidget(button)
window.setLayout(hbox)
#展示窗口
window.show()
sys.exit(app.exec())
菜单栏在GUI应用程序中很常见,它是位于各种菜单中的一组命令。(Mac OS 对菜单栏的处理是不同的,要得到类似的结果,我们可以添加下面这行: menubar.setNativeMenuBar(False)
import sys
from PyQt6.QtWidgets import QMainWindow, QApplication
from PyQt6.QtGui import QIcon, QAction
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
exitAct = QAction(QIcon('exit.png'), '&Exit', self)
exitAct.setShortcut('Ctrl+Q')
exitAct.setStatusTip('Exit application')
exitAct.triggered.connect(QApplication.instance().quit)
self.statusBar()
menubar = self.menuBar()
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(exitAct)
self.setGeometry(300, 300, 350, 250)
self.setWindowTitle('Simple menu')
self.show()
def main():
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec())
if __name__ == '__main__':
main()
上门的示例中,创建了有一个菜单的菜单栏。这个菜单命令是终止应用,也绑定了快捷键 Ctrl+Q。示例中也创建了一个状态栏。
exitAct = QAction(QIcon('exit.png'), '&Exit', self)
exitAct.setShortcut('Ctrl+Q')
exitAct.setStatusTip('Exit application')
QAction 是行为抽象类,包括菜单栏,工具栏,或自定义键盘快捷方式。在上面的三行中,创建了一个带有特定图标和 ‘Exit’ 标签的行为。此外,还为该行为定义了一个快捷方式。第三行创建一个状态提示,当我们将鼠标指针悬停在菜单项上时,状态栏中就会显示这个提示。
exitAct.triggered.connect(QApplication.instance().quit)
当选择指定的行为时,触发了一个信号,这个信号连接了 QApplication 组件的退出操作,这会终止这个应用程序。
menubar = self.menuBar()
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(exitAction)
menuBar 方法创建了一个菜单栏,然后使用 addMenu 创建一个文件菜单,使用 addAction 创建一个行为。
状态栏是显示状态信息的小部件。