网站控制面板,30天网站建设实录,网站建设好后为什么要维护,肇庆做网站公司点击上方“AirPython”#xff0c;选择“加为星标”第一时间关注 Python 技术干货#xff01;1. 介绍Python GUI 常用的 3 种框架是#xff1a;Tkinter、wxpython、PyQt5PyQt5 基于 Qt#xff0c;是 Python 和 Qt 的结合体#xff0c;可以用 Python 语言编写跨平台的 GUI … 点击上方“AirPython”选择“加为星标”第一时间关注 Python 技术干货1. 介绍Python GUI 常用的 3 种框架是Tkinter、wxpython、PyQt5PyQt5 基于 Qt是 Python 和 Qt 的结合体可以用 Python 语言编写跨平台的 GUI 应用程序相比 Tkiner和 wxpythonPyQt5 利用自带的 Qt Designer 可视化工具进行界面设计可以非常快速地开发出一款功能强大、界面美观的 GUI 应用程序2. 安装以 Mac OSX 为例PC 下的操作类似。首先在系统内部安装 qt 应用# 安装qtbrew install qt然后在 Python 虚拟环境下安装 sip 和 pyqt5 两个依赖库# 安装依赖sippip3 install sip# 安装依赖pyqt5pip3 install pyqt5接着在 Pycharm 中配置 External Tools新建 Qt Designer 和 PyUIC 两个命令# Qt Designer 配置Program/usr/local/Cellar/qt/5.14.1/libexec/Designer.appWorking directory/usr/local/Cellar/qt/5.14.1/libexec# PyUIC# Python环境路径Program/usr/local/bin/python3.7# 参数Arguments-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py # 路径【固定】Working directory$ProjectFileDir$其中在第一步安装 Qt 应用文件夹下找到 Designer.app 和 libexec 两个文件配置进去由于 QtDesigner 生成的文件是 *.ui 文件需要借助 pyqt5 中的 pyuic将 ui 文件转换为 Python 文件最后可以直接在 Pycharm 中快速打开 Designer 界面、ui 转 py 文件这两个操作。3. 常用功能介绍QtDesigner 是一个非常强大的 GUI 设计工具生成的文件格式为*.uiQtDesigner 主要包含下面 6 部分主设计界面区控件区控件属性区信号和槽函数区资源图片区控件结构树区其中主设计界面区用于窗口编辑最终的 GUI 展示区域控件区包含文本、输入框、选择器、容器等控件可以直接拖拉到窗口进行布局属性区用于定义控件的属性包含内容、字体大小、宽和高等信号和槽函数区可以很方便地为一个控件指定一个事件监听比如单击、选中事件等资源图片区域用于导入本地的资源文件在控件中使用比如图片控件结构树区可以很直观地显示控件间的结构关系4.来个例子第 1 步我们从控件区拖 3 个按钮和 2 个输入框到界面设计区域第 2 步选中控件鼠标右键为控件新增属性比如控件内容、控件名称(相当于id)对于一些复杂的属性设置需要在属性区域单独进行设置编辑完 UI 界面之后会在本地生成一个 *.ui 的文件第 3 步选择 *.ui 文件在 Pycharm 中使用 PyUIC 命令将 ui 文件转换为 py 文件# ui文件转为py文件from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName(MainWindow) MainWindow.resize(800, 790) self.centralwidget QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName(centralwidget) self.pushButton QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(130, 80, 111, 41)) self.pushButton.setObjectName(pushButton) self.username QtWidgets.QLineEdit(self.centralwidget) self.username.setGeometry(QtCore.QRect(260, 80, 271, 41)) self.username.setObjectName(username) self.pushButton_2 QtWidgets.QPushButton(self.centralwidget) self.pushButton_2.setGeometry(QtCore.QRect(130, 150, 111, 41)) self.pushButton_2.setObjectName(pushButton_2) self.password QtWidgets.QLineEdit(self.centralwidget) self.password.setGeometry(QtCore.QRect(260, 150, 271, 41)) self.password.setObjectName(password) self.login QtWidgets.QPushButton(self.centralwidget) self.login.setGeometry(QtCore.QRect(260, 230, 141, 61)) self.login.setObjectName(login) MainWindow.setCentralWidget(self.centralwidget) self.statusbar QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName(statusbar) MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate(MainWindow, MainWindow)) self.pushButton.setText(_translate(MainWindow, 用户名)) self.pushButton_2.setText(_translate(MainWindow, 密码)) self.login.setText(_translate(MainWindow, 登录))第 4 步为按钮添加点击事件使用 控件名.信号.connect(槽函数) 的形式为控件添加一个点击事件的监听class Ui_MainWindow(object): def setupUi(self, MainWindow): # 为登录按钮指定事件 # clicked信号login_met:槽函数 self.login.clicked.connect(self.login_met) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def login_met(self): 登录事件(槽函数) :return: # 用户名输入框的内容 username self.login.text() # 密码输入框的内容 password self.password.text() print(输入的用户名是:, username, 密码是:, password)第 5 步展示界面最后新建一个 py 文件实例化一个 QApplication 对象将上面创建的 MainWindow 展示出来即可。import sysfrom PyQt5.QtWidgets import QApplication, QMainWindow# 界面文件from temp import *class CustomUI(QMainWindow, Ui_MainWindow): def __init__(self, parentNone): super(CustomUI, self).__init__(parent) self.setupUi(self)if __name__ __main__: app QApplication(sys.argv) cutomUI CustomUI() cutomUI.show() sys.exit(app.exec_())需要注意的是这部分内容仅仅是调用显示 GUI 界面的逻辑实际项目开发过程中很少变动。5.总结通过上面的例子发现使用 PyQt5 构建 GUI 真的很方便大部分的工作都可以在 QtDesigner 设计完成然后回归到 Pycharm中转为 py 文件、编写信号和槽函数就能快速开发 GUI 图形用户界面。我已经将全部源码上传到后台关注公众号后回复「 PyQt5 」即可获得全部源码。如果你觉得文章还不错请大家点赞分享下。你的肯定是我最大的鼓励和支持。