1. 配置Python环境
? ? 1)下载Python,Welcome to Python.orgDownload Python | Python.orgWelcome to Python.org ? ? 2)下载Windows版本 Windows installer(64-bit),python-3.X.X.exe ? ? ? ? ? Download Python | Python.org? ? ? ? 3)安装Python,双击python安装程序,按提示执行安装 ? ? 4)安装结果验证
python -V # Python 3.9.1
或
python # Python 3.9.1
2. 安装PyQt5
? ? 使用pip安装PyQt5及相关插件
# 安装 PyQt5
pip install PyQt5
# 验证 pyqt5 安装结果
>>> import PyQt5 # 导入PyQt5成功
# 安装 pyqt5 设计工具 designer
pip install pyqt5-tools
# 验证 pyqt5-tools 安装结果
python_path\Lib\site-packages\qt5_applications\Qt\bin\designer.exe #双击后启动Qt Designer
3. 配置PyCharm集成开发环境(IDE)
? ? * 完全可以使用Python IDLE环境,使用PyCharm只是之前配置好的环境,并且希望使用下external tools,外部工具配置
? ? 1)PyCharm安装(参考官方文档,PyCharm中文网,JetBrains: Essential tools for software developers and teams?官网官网,似乎访问不到) ? ? 2)配置external tools ? ? ? ? ?> File -> Settings ? ? ? ? ?>?配置 external tools
? ? ? ? ?> 配置 Qt Designer ( + ),执行Qt Designer进行GUI设计 ? ? ? ? ? ? - 设置 Name?和 Program?执行程序 ? ? ? ? ? ? - $FileDir$,在当前文件夹下生成 *.ui 文件
? ? ? ? ?> 配置 pyuic5?( + ),将 Qt Designer生成的*.ui文件转成*.py文件 ? ? ? ? ? ? -?设置 Name?和 Program?执行程序(pyuic5.ext 位于python目录的scripts文件夹下) ? ? ? ? ? ? -?设置 Parameters参数,参考pyuic5执行:?pyuic5 *.ui -o *.py, *代表对应的文件名 ? ? ? ? ? ? ? 默认新的Qt Designer会引用 PySide2?库,因此直接使用pyuic5转换*.ui只能引用PySider2库,因此使用-o参数可以引用PyQt5库。
???? ? ? ? ?>?配置 Python?( + ),执行python程序 ? ? ? ? ? ? ? 参考?python *.py?执行过程 ? ? ? ? ? ? ? ?- 设置 Name?和 Program?执行程序 ? ? ? ? ? ? ? ?-?设置 Parameters参数,指定当前运行的文件 $FileName$,即*.py ? ? ? ? ? ? ? ?-?设置当前程序执行的文件夹,$FileDir$
?4. 使用Qt Designer设计用户界面(详细参考相关帮助,)
? ? 有GUI设计?或?可视化快速开发语言经验的,可略过。了解一些Qt? Designer的基本特性
? ? 1)信号 和 槽(Singnal and Slot)?? ? ? ? ? ?> 信号和槽用于对象之间的通信,所有的应用都是事件驱动的,设用exec_()方法。 ? ? ? ? ? ? 基于对象1的操作影响对象2:对像1发送信号,对像2响应信号称为槽;发送 -?信号 <-> 响应 -?槽 ? ? ? ? ?>?事件模型 ? ? ? ? ? ??事件源:发生了状态改变的对像 ? ? ? ? ? ??事件:改变的内容,用来描述一系列事件自身属性的对象,发生一个signal ? ? ? ? ? ? 事件目标:事件想作用的目标,事件触发时调用slot ? ? ? ? ?>?singal?信号,sender?信号的发送者,receiver?信号的接收者,slot?信号发出后应做出的反应
## import
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication,QMessageBox,QDialog
## Window UI design
-----------------------------------------------------------------
self.pushButton = QtWidgets.QPushButton(Dialog)
self.pushButton.setGeometry(QtCore.QRect(170, 120, 75, 23))
self.pushButton.setObjectName("pushButton")
self.pushButton.clicked.connect(self.showok)
def showok(self):
QMessageBox.information(self, 'Info', 'OK!!!')
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
self.buttonBox.setObjectName("buttonBox")
self.buttonBox.accepted.connect(Dialog.accept)
def accept(self):
QMessageBox.information(self, 'Info', 'accepted!!!')
## Show Window
-----------------------------------------------------------------
class MyWindow(QDialog, Ui_Dialog):
def __init__(self, parent=None):
super(MyWindow, self).__init__(parent)
self.setupUi(self)
if __name__ == '__main__':
app = QApplication(sys.argv)
myWin = MyWindow()
myWin.show()
sys.exit(app.exec_())
? ? 2)Layout?布局 ? ? ? ? ?> Vertical Layout,竖向排列 ? ? ? ? ?> Horizontal Layout,横向排列 ? ? ? ? ?> Grid Layout,网格布局,多行多列 ? ? ? ? ?> Form Layout,表单布局,多行2列
? ? ? ? ?布局创建步骤 ? ? ? ? ?>?创建组件(widget) ? ? ? ? ?>?创建布局(layout),并将部件依次添加到布局中 --?选择要布局的组件,然后选择合适的布局
- Getting started with PyQt --?Getting started with PyQt (learning the basics) - CodersLegacy
- PyQt5中文教程
|