python开发界面化软件:用PySide6做一个简单秒表

开发桌面软件,当然最牛逼的是QT。然而QT是基于C++的,C++是一种专业性极强的语言,业余玩家很难掌握。QT并没有放弃大部分业余玩家,他们做了PyQt和PySide两个包,让广大python玩家也可以用python语言来玩QT。

因为PyQt的开源策略没有PySide幅度大,不能做闭源软件,今天我们用PySide来做一个小项目,体验一下PySide。我这个人喜欢用最新的版本,于是选择的是PySide6。

第一步:安装PySide6

安装PySide6很简单,直接在终端执行:pip install PySide

如果你有使用 pycharm ,那么安装就更简单了,直接按照提示进行就可以了。

具体怎么安装就不详细说了,如果有什么问题可以在评论区讨论。

第二步:需求分析

如题所述,我们要做一个秒表。最简单的秒表是这样的,有一个界面,界面上有一个显示数字的地方,有两个按钮,一个是开始,一个是暂停。

基础知识回顾,老司机可以跳过。计算机显示一个界面,是不断地由上而下的刷新当前界面,因为这种刷新非常快,我们就会觉得界面是固定的。如果界面的部分地方发生了改变,比如按钮状态变成了不可操作,也是可以通过这种刷新来修改的。如果修改某个地方需要比较长的时间,那么界面就会卡顿,卡顿时间就是修改某个地方所需要的时间。为了界面的流畅,所以我们就要用子线程来操作一些比较耗时的操作。

第三步:实现逻辑

点击“开始”按钮,启动一个线程,这个线程会对一个数字n进行每秒加一的操作,操作完后会把这个数字传递给主界面,然后在主界面上显示出来。

点击“暂停”按钮,关闭线程,系统停止对n进行加一操作。再次点击“开始”,又启动线程,继续对n进行加一操作。

n这个数字是主界面上用来显示的数字,点击“开始”按钮时,要把这个数字传递给子线程,子线程每进行一次加一操作,就把n还给主界面,并修改主界面的数字,这样就实现了主界面秒表读数的效果。

第四步:代码实现

子线程向主线程传递数据,用Signal(),显示数字用QLCDNumber(),按钮用QPushButton(),子线程用QThread()(创建一个类继承它即可)。直接上代码:


第五步:效果展示

视频效果:

来源:一个哲学家

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月21日
下一篇 2022年1月22日

相关推荐