文章目录
- 前言
- 一、pySide2 / pySide6 ,PyQt5 / PyQt6
- 二、安装包
-
- 1 安装pyside2
- 2 安装pyqt5
- 三、从一个简单的例子开始
- 三、界面动作处理---信号(signal)与槽(slot)(Qt最核心的机制)--- 绑定事件
-
- 封装到类中
- 总结
前言
参考文章:Qt简介
本文开始就开始进入到qt的开发笔记书写了。使用的开发库是pySide2 / pySide6 ,PyQt5 / PyQt6,下面会给出这几个库的前世今身。
一、pySide2 / pySide6 ,PyQt5 / PyQt6
PySide2、PyQt5 都是基于著名的 Qt 库。PySide6、PyQt6是版本6,虽然6版本较新,但由于网上文档较多的还是5,因此我们还是使用5吧! (pySide直接由2跳到6,有点怪,其实二者和PyQt的版本是相互对应起来的)。
Qt库里面有非常强大的图形界面开发库,但是Qt库是C++语言开发的,PySide2、PyQt5可以让我们通过Python语言使用Qt。
但是 PySide2(Qt公司开发)、PyQt5(Riverbank Computing公司开发) 这两者有什么区别呢?
区别就是由不同的公司封装的Qt5库(是c++写的)。
【注】:两个库的使用 对程序员来说,差别很小:它们的调用接口几乎一模一样。
如果你的程序是PyQt5开发的,通常只要略作修改(导入的名字改一改就行了),比如把导入的名字从 PyQt5 换成 PySide2 就行了。
【注】:如果你的产品要买到国外去,建议PySide2(不用版权费);国内开发就无所谓了,你要版权费谁管你呢。本系列博客大多使用PySide2。
二、安装包
1 安装pyside2
终端:pip install pyside2
很慢的话可以使用清华源 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyside2
2 安装pyqt5
【注】:安装后面要加tools,不然会导致一些工具不全
【注】:这里用做演示,装了pyside2就不用装这个了,二选一
终端:pip install pyqt5-tools
三、从一个简单的例子开始
参考文档:一个案例
现在我们要开发一个程序,让用户输入一段文本包含:员工姓名、薪资、年龄。
格式如下:
薛蟠 4560 25
薛蝌 4460 25
薛宝钗 35776 23
薛宝琴 14346 18
王夫人 43360 45
王熙凤 24460 25
王子腾 55660 45
王仁 15034 65
尤二姐 5324 24
贾芹 5663 25
贾兰 13443 35
贾芸 4522 25
尤三姐 5905 22
贾珍 54603 35
该程序可以把薪资在 2万 以上、以下的人员名单分别打印出来。
当然我们可以像以前一样,开发命令行程序(准确的说应该叫字符终端程序,因为UI是字符终端),让用户在字符终端输入。
但是如果我们能开发下面这样的图形界面程序,就更酷了
最后要呈现上面这种效果。
能吗?
能,用 Python Qt,开发上面的界面就只要下面这短短的程序即可
from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QPlainTextEdit
app = QApplication([])
window = QMainWindow()
window.resize(500, 400)
window.move(300, 310)
window.setWindowTitle('薪资统计')
textEdit = QPlainTextEdit