PyQt6 实战-时间管理应用
这学期无聊选了个 Python 程序设计进阶,想去学点东西,大作业就是用 python GUI 库写个电脑端的时间管理应用。
课上讲的是 tkinter,感受了下,比较原始,以前写个 C++ 的 Qt 的网络跳棋,那时候是 Qt4,当时的代码完全是依托答辩,就直接对着 Qt 的那坨 ui 文件和 cpp 文件瞎搞。
这次决定用 PyQt6 + Qt Designer 来写。
希望能把项目的工程化做好,毕设最后大概率也要写个小工程。这篇博客记录一下这个项目的过程。
教程
pyqt6 库的基础操作:
https://blog.csdn.net/cdns_1/article/details/141935218
pyqt6 + Qt Designer + vscode:
https://blog.csdn.net/u010839204/article/details/128461786
https://blog.csdn.net/FOFOD/article/details/121686083
安装:
conda 下 create 个环境,pip 安装即可。
pip install pyqt6 pyqt6-tools -i https://pypi.tuna.tsinghua.edu.cn/simple
我们还需要 Qt Designer(PyQt 程序 UI 界面的实现工具),不可能只对着代码来写 GUI 界面,这样很难调整,还是需要 UI 界面的。
Qt Designer 上官网 https://www.qt.io/ ,搞个试用或者学生版。
然后 vscode 安装扩展:PYQT Integration,打开它的设置,按下面改:
pyuic6.exe 就在 conda 的环境目录的 Scripts 下。(我这是 Windows 系统的 Anaconda,Linux 系统应该结构不太一样,需要找一找)
designer.exe 在 Qt 的安装目录下找到 bin 文件夹,就在里面了。
项目要求解读:
需要一个数据库维护历史记录、分类、番茄钟的间隔 X 等数据,其它都是 Qt 这部分的界面设计。
基础使用:
主程序:
在 Qt designer 中创建一个 MainWindow,然后保存成 MainWindow.ui,再转换成 Ui_MainWindow.py
此时考虑下面主程序 main.py
from PyQt6.QtWidgets import QApplication, QMainWindow, QPushButton
from PyQt6.QtCore import Qt
import sys
from Ui_MainWindow import Ui_MainWindow
if __name__ == "__main__":
app = QApplication(sys.argv)
window = QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(window)
window.show()
sys.exit(app.exec())
运行 main.py