前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python图形用户界面(四):教你实现一个简单实用的计时器

python图形用户界面(四):教你实现一个简单实用的计时器

作者头像
叶子陪你玩
发布2020-04-08 17:28:11
2K0
发布2020-04-08 17:28:11
举报
前言

本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。

今天就利用PySide2实现一个可以计时功能的小程序。下面是它的实际运行效果动图。

实现步骤:

1.设计UI界面 timer.ui

2.利用转化工具 将timer.ui转换成 ui_timer.py文件

3.初始化界面程序

4.实现设置时间功能

5.实现开始计时功能

1.设计UI界面 timer.ui

根据功能,我们需要一个显示时间的部件,这里采用的是LCD Number显示部件,两个功能按钮选用的都是pushButton部件,完成好保存到桌面上。

预览效果

2.利用转化工具 将timer.ui转换成 ui_timer.py文件

利用pyside2-uic工具将ui文件转换成py文件。

转化后的ui_timer.py代码,省去了我们手写代码布局实现了,非常方便:

3.初始化界面程序

这里将uitimer当作模块导入,里面有个UiTimer类,创建主窗体对象window和ui界面对象timer,最后显示窗体,运行程序就出现了之前的计时UI界面了。

上面是以面向过程的方法实现了,下面将其改成面向对象的方法,便于我们组织管理代码和添加新功能。

初始化开始数字为0。

4.实现设置时间功能

导入QInputDialog输入对话框,添加一个timerReset方法设置时间。在setup方法中需要将按钮的点击事件与设置时间的方法先绑定,这样当触发按钮时,就会调用timerReset方法了。

5.实现开始计时功能

计时功能相对比较复杂一点,因为我们需要有实际的计时功能,同时又要保证lcd显示器上的数字变化。为了实现计时功能,这里从此那个QtCore核心模块中导入QTimer计时方法,同时在QtWidget中导入了QMessageBox消息弹窗框方法。

现在setup设置一些初始变量和创建一个timer的计时器,绑定开始按钮和timerStart方法。

点击开始后需要设置按钮禁用模式通过setEnabled方法,之后开始计时功能,里面的1000是ms,也就是1s后回去调用nextSecond方法,在nextSecond方法中,我们需要先判断当前的时间是否为0了,如果为0,就停止计时,同时弹出时间到的消息提醒窗口,否则就每次数值显示减1,同时不断重复调用自己。

完整代码:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 叶子陪你玩编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实现步骤:
  • 1.设计UI界面 timer.ui
  • 2.利用转化工具 将timer.ui转换成 ui_timer.py文件
  • 3.初始化界面程序
  • 4.实现设置时间功能
  • 5.实现开始计时功能
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档