目录
(我的名ai_torch_tensorflow,python版本3.8)
2. ai_torch_tensorflow环境里安装pyqt5、pyqt5-tools
3. 下载安装Qt(根据自己需要下载不同版本,我的是MSVC版的Qt5.14.2)
5. pycharm 新建项目,设置python编译器为创建的Anaconda环境
1. 点击下图弹出Qt Designer进行制作,最后保存到项目文件下
3. 在main中创建实例,并将01.py里生成的代码加入main并运行
三、不配置qtdesigner、pyuic、pyrcc,直接加载已有.ui方式Demo---------推荐该方式
一、PyQt环境搭建
1. 安装Anaconda3并创建自己的环境
(我的名ai_torch_tensorflow,python版本3.8)
2. ai_torch_tensorflow环境里安装pyqt5、pyqt5-tools
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyqt5
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyqt5-tools
3. 下载安装Qt(根据自己需要下载不同版本,我的是MSVC版的Qt5.14.2)
4. 安装 pycharm
5. pycharm 新建项目,设置python编译器为创建的Anaconda环境
6. 配置qtdesigner、pyuic、pyrcc工具
Qt Designer 是通过拖拽的方式放置控件,并实时查看控件效果进行快速UI设计。
最终生成.ui文件(实质上是XML格式的文件),可以通过pyuic5工具转换成.py文件。
PyRCC主要是把编写的.qrc资源文件换成.py文件。
(1) qtdesigner:
(2) pyuic:
(3) pyrcc:
二、PyQt环境简单测试
1. 点击下图弹出Qt Designer进行制作,最后保存到项目文件下
2. 点击下图将刚刚保存的01.ui转为01.py
3. 在main中创建实例,并将01.py里生成的代码加入main并运行
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(400, 300)
self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
self.buttonBox.setGeometry(QtCore.QRect(30, 240, 341, 32))
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
self.buttonBox.setObjectName("buttonBox")
self.retranslateUi(Dialog)
self.buttonBox.accepted.connect(Dialog.accept)
self.buttonBox.rejected.connect(Dialog.reject)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
if __name__ == '__main__':
# QT提供的默认基类QMainWindow、QWidget、QDialog这三种。
# QMainWindow是带有菜单栏和工具栏的主窗口
# QtWidgets是PyQt5下面的一个模块,包括了用于构建界面的一系列UI元数组件
# QApplication包括窗口系统和其他来源处理过和发送过的主事件循环,有且只有一个QApplication对象
# QDialog是各种对话框的基类,窗口部件全部继承自QWidget。(本身没有菜单栏和工具栏)
app = QtWidgets.QApplication(sys.argv) # 实例化一个应用对象
MainWindow = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(MainWindow) # 初始化窗口:吧Qt设计器设计的内容画出来,定义的信号和槽建立起来。(画界面和写程序的桥梁)
MainWindow.setWindowTitle("666") # 标题
MainWindow.show() # 显示窗口
sys.exit(app.exec_()) # 程序循环,等待安全退出
运行结果:
三、不配置qtdesigner、pyuic、pyrcc,直接加载已有.ui方式Demo---------推荐该方式
(不用配置qtdesigner、pyuic、pyrcc工具等,在qtdesigner里画好.ui界面保存,在python里加载并进行信号槽操作)
import sys
from PyQt5 import QtWidgets, uic
class Index(object):
def __init__(self):
self.setupUi()
self.allConnect()
def setupUi(self):
self.indexUi = uic.loadUi("./index.ui") # 加载界面
self.btn_paizhao = self.indexUi.btn_paizhao # 获取界面中的控件
def paizhao(self):
print("拍照")
def allConnect(self):
self.btn_paizhao.clicked.connect(self.paizhao) # 信号槽关联: 对象.信号.connect(self.槽)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv) # 实例化一个应用对象
ui = Index()
ui.indexUi.show() # 显示窗口
sys.exit(app.exec_()) # 程序循环,等待安全退出