try:
message = "Alert!"
if len(sys.argv) < 2:
raise ValueError
hours, mins = sys.argv[1].split(":")
due = QTime(int(hours), int(mins))
if not due.isValid():
raise ValueError
if len(sys.argv) > 2:
message = " ".join(sys.argv[2:])
except ValueError:
message = "Usage: alert.pyw HH:MM [optional message]"
其中包含了异常处理,对于一个应用程序,我们应该将所有的异常情况都考虑进去。
程序中使用raise 来触发异常。迫使程序进入我们的预想轨道。
显然,上面的程序是不够的,它并没有时间判断和GUI部分。
如何判断时间是否到了呢,我们给出一个不是特别准确的方法,定时判断。
import time
while QTime.currentTime() < due:
#休眠20秒
time.sleep(20)
当时间到了我们就会跳到下一步,创建一个窗体,延迟60s 后关闭。
label = QLabel("" + message + "")
label.setWindowFlags(Qt.SplashScreen)
label.show()
QTimer.singleShot(60000, app.quit) # 1 minute
app.exec_()
看来,我们又需要写一个关于 QTime模块的介绍了。
现在把所有的句子放在一起。让我们测试下。
附完整代码:
import sys
import time
from PyQt4.QtCore import *
from PyQt4.QtGui import *
app = QApplication(sys.argv)
try:
message = "Alert!"
if len(sys.argv) < 2:
raise ValueError
hours, mins = sys.argv[1].split(":")
due = QTime(int(hours), int(mins))
if not due.isValid():
raise ValueError
if len(sys.argv) > 2:
message = " ".join(sys.argv[2:])
except ValueError:
message = "Usage: alert.pyw HH:MM [optional message]" # 24hr clock
while QTime.currentTime() < due:
time.sleep(20) # 20 seconds
label = QLabel("" + message + "")
label.setWindowFlags(Qt.SplashScreen)
label.show()
QTimer.singleShot(60000, app.quit) # 1 minute
app.exec_()
相关文章
在Django框架中运行Python应用全攻略
在Python的Django框架中创建和使用模版
python获取元素在数组中索引号的方法
浅谈python中截取字符函数strip,lstrip,rstrip
利用QT写一个极简单的图形化Python闹钟程序
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论
立即提交
PHP
MySQL
HTML
CSS
JavaScript
jQuery
AJAX
Html5
独孤九贱(5)_ThinkPHP5视频教程
ThinkPHP是国内最流行的中文PHP开发框架,也是您Web项目的最佳选择。《php.cn独孤九贱(5)-ThinkPHP5视频教程》课程以ThinkPHP5最新版本为例,从最基本的框架常识开始,将...
Peter-Zhu
2017-05-16 12:03:57
点击数(161379)
独孤九贱(4)_PHP视频教程
江湖传言:PHP是世界上最好的编程语言。真的是这样吗?这个梗究竟是从哪来的?学会本课程,你就会明白了。 我要学编程网wyxbc.com出品的PHP入门系统教学视频,完全从初学者的角度出发,绝不玩虚的,一切以实用、有用...
Peter-Zhu
2017-03-20 22:47:17
点击数(158349)
独孤九贱(1)_HTML5视频教程
《php.cn原创html5视频教程》课程特色:我要学编程网wyxbc.com原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了HTML知识。 ...
Peter-Zhu
2017-03-13 10:15:11
点击数(127303)
ThinkPHP5实战之[教学管理系统]
本套教程,以一个真实的学校教学管理系统为案例,手把手教会您如何在一张白纸上,从零开始,一步一步的用ThinkPHP5框架快速开发出一个商业项目。
Peter-Zhu
2017-07-24 16:48:56
点击数(119756)
PHP入门视频教程之一周学会PHP
所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通...
大家讲道理
2016-11-16 14:54:14
点击数(119493)
作者信息
我要学编程网wyxbc.com
认证0级讲师
最近文章
最新文章
热门排行
Python列表如何统计元素的出现频率?(代码示例)
Python如何初始化列表?
Python动态定义函数的方法介绍
Python怎么合并子列表的元素?
好用的Python IDE推荐
如何使用Python中range()方法?
python单链表中如何查找和删除节点?
python单链表中如何插入和输出节点?(代码示例)
pickle库的使用详解
Anaconda的新手使用大全
Python微信库:itchat的用法详解
python爬虫是什么?为什么把python叫做爬虫?
python爬虫是什么
关于python3学习基础知识总结
使用Python可以做什么
python如何实现可视化热力图
相关视频教程
javascript初级视频教程
jquery 基础视频教程
javascript三级联动视频教程
独孤九贱(3)_JavaScript视频教程
独孤九贱(6)_jQuery视频教程
相关视频章节
Python 简介
Python 环境搭建
Python 中文编码
Python 基础语法
Python 变量类型