qt
版本说明
PyQt6和PySide6都是用于调用Qt6API的Python库,使用它们可以轻松在Python语言中创建基于Qt的GUI程序;
PyQt6和PySide6最大的不同表现在发行许可上;
PyQt6是由RiverbankComputing公司开发,出现的比较早;它采用GPLv3许可证和商业许可证发布;这表示你如果使用PyQt6,则必须将你的代码进行开源;如果要闭源,则需要购买商业许可;
PySide6是Qt官方的库亲儿子,出现的时间要比PyQt晚的多,这也是很多人知道PyQt不知道PySide的原因;但随着版本的迭代,PySide6越来越强大,作者更看好PySide;
PySide6采用LGPL许可发布,这意味着只要你以调用动态链接库的形式使用Qt,你可以以任何形式(商业、非商业、开源、非开源)发布你的程序;
PySide6
pip install pyside6
PySide6工具
工具:
- designer.exe,Qt Designer,可轻松画出UI;
- uic.exe,用于将.ui文件转换成.py文件;
- rcc.exe,把编写的.qrc资源文件换成.py文件;
Pycharm工具配置:
File - Settings - Tools - External Tools,点击 + Create Tool配置。
(选中要处理的文件后)依次点击 Tools - External Tools 即可启动对应工具。
1 | Name: QtDisigner |
1 | Name: PyUIC |
1 | Name: PyRCC |
概念
QApplication 对于任何使用Qt的GUI应用程序,都只有一个QApplication对象,提供基于QWidget 的应用程序所需的一些功能
QWidget类是所有用户界面对象的基类
QMainWindow 类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。
QDialog类是对话框窗口的基类
信号 signal → 事件
槽 slot → 回调函数
Hello World
1 | import sys |
开发流程实例
- designer绘制界面 设置信号/槽
- 由ui生成界面显示py文件 修改回调函数(每次更新ui后都要处理)
- 新建业务逻辑py文件,导入界面文件
Weather.py
1 | # -*- coding: utf-8 -*- |
MainWeather.py
1 | # coding:utf-8 |
根据ui文件生成界面
1 | import sys |
启动应用
1 | import os |
1 | from PySide6.QtCore import QProcess |
PyQT5
install
pip install pyqt5
https://pythonpyqt.com/pyqt-hello-world/
create window
1 | import sys |
button
1 | import sys |