一、实验准备
技术选型:
- 开发语言:python
- IDE:Pycharm
- 图形处理库:opencv-python
- 签到数据存储库:pysqlite3
- 图形界面设计库:pyqt5-tools
环境搭建:
-
新建一个工程文件;
-
安装实验需要用到的库:
pip install opencv-python -i https://mirrors.aliyun.com/pypi/simple pip install pysqlite3 -i https://mirrors.aliyun.com/pypi/simple pip install pyqt5-tools -i https://mirrors.aliyun.com/pypi/simple
以上安装的是最新版本,如果需要安装以前的版本,须在库名后加 “==版本号”,例如:
pip install opencv-python==3.4.9.33 -i https://mirrors.aliyun.com/pypi/simple
二、设计界面程序
-
打开 terminal(终端) 输入命令:
pyqt5designer.exe
将会出现如下窗口(Qt Designer)
-
窗口设计(跟直接在Qt Createor 里设计界面一样,直接拖动控件)
-
ui 文件转 py 文件:
pyuic5 UI文件.ui -o 目标文件.py
例如:pyuic5 MainWindow.ui -o MainWindow.py
-
新建 mian.py 文件,创建一个新类(继承 ui 类(Ui_MainWindow)和基础界面类(QMainWindow)):
import sys from PyQt5.QtWidgets import QMainWindow, QApplication from MainWindow import Ui_MainWindow ''' 子类 myWindow 继承 UI_MainWindow 和 QMainWindow Ui_MainWindow: 包含界面的设计,窗口的窗口部件 QMainWindow: 包含整个界面窗口,窗口操作 myWindow: 完整的窗口 ''' class myWindow(Ui_MainWindow, QMainWindow): def __init__(self): # 对象的初始化方法 super(myWindow, self).__init__() # 通过super()来调用父类的__init__()函数 self.setupUi(self) # 创建界面内容 if __name__ == "__main__": # 创建应用程序对象 app = QApplication(sys.argv) # 创建窗口 ui = myWindow() # 显示窗口 ui.show() # 应用执行 app.exec_() # 关闭退出应用 sys.exit(0)
或者不创建一个新类,参考🔗:利用pyuic5将ui文件转换为py文件
-
运行结果如下:
总结二传送门:人脸课堂签到管理系统(总结二) 摄像头显示