PyQt5 使用笔记
开发环境
- 搭建开发环境
- IDE 可以使用 PyCharm,有社区版的,专业版的 liscence 也很容易找到
- 最简单的方式,直接使用 Conda 集成平台
- 安装 Qt5, python3, PyQt5 二进制安装包
- 安装 Qt5, python3, PyQt5 源代码,编译安装
- note: 如果不需要编译,可以不用安装 Qt5,直接安装 Qt designer 即可; Unix 类操作系统上,安装时还需要使用的python 版本是 dev 版本,否则无法安装; python2 也可以,不过建议使用 python3;Conda 集成平台,常用的包都有,包括PyQt5,直接使用 PIP 是无法安装 PyQt5 的(直接 pip install PyQt5 会显示找不到包),只能通过源码或者下载二进制安装文件
基本概念
常识
from PyQt5.QtCore import QT_VERSION_STR
print(QT_VERSION_STR)
from PyQt5 import uic
filename = /path/to/myfile
Ui_MainWindow, QtBaseClass = uic.loadUiType(filename)
重点
- 一个widget 如果没有父窗口,则可以称为一个 window
- MainWindow 与 Widget 之间的界限,只是通过设置一个标志位(Qt::Window )来区别的,MainWindow 在生成对象的时候对这个标志位进行了标记,同时也定义了一些特有的方法
简单示例
import sys
from PyQt5 import QtCore, QtWidgets, uic
filename = 'path to myfile'
Ui_MainWindow, QtBaseClass = uic.loadUiType(filename)
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QMainWindow()
win = Ui_MainWindow()
win.setupUi(window)
window.show()
sys.exit(app.exec_())
基本框架
- 界面与逻辑混合
- 界面与逻辑分离
- 使用 qt designer 生成相关的界面设计文件
- 使用 pyuic(4/5) 转换成 py 文件,再进行导入
- 直接使用 loadUiType 函数导入相关的界面设计文件
- 如果需要进行精细化的控制,还是需要直接写代码的方式写界面,初期可以先使用 qt designer 生成界面文件进行学习,为以后直接写代码打下基础