ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python实用工具,SimpleGUICS2Pygame模块,Python实现简易版计时器

2021-08-04 14:04:04  阅读:207  来源: 互联网

标签:Python 实用工具 global SimpleGUICS2Pygame timer color frame def


开发工具

Python版本:3.6.4

相关模块:

SimpleGUICS2Pygame模块。

计时器

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

原理简介

内容比较简单,就简单介绍一下吧。

首先创建主界面和一个计时器:

def main():
	global t, color
	t = 0
	color = 'white'
	frame = simplegui.create_frame('Timer', 200, 200, 150)
	# 1000 / 100 = 10, 即t自加10次为一秒
	global timer
	timer = simplegui.create_timer(100, timerHandler)
	frame.set_draw_handler(drawHandler)
	button_start = frame.add_button('Start', Start, 150)
	button_stop = frame.add_button('Stop', Stop, 150)
	button_clear = frame.add_button('Clear', Clear, 150)
	frame.start()


if __name__ == '__main__':
	main()

t每计数十次为一秒,因此将t转换为分秒格式的代码实现如下:

'''
Function:
	将时间转为<A:BC.D>格式
'''
def Convert(t):
	D = t % 10
	# 十位
	B = (t // 100) % 6
	# 个位
	C = (t // 10) % 10
	# 分钟
	A = t // 600
	return str(A) + ':' + str(B) + str(C) + '.' + str(D)

剩下的内容就是实现开始计时,结束计时,清空当前计时和将计时绘制在主界面上了:

Function:
	开始计时
'''
def Start():
	global timer, color
	color = 'white'
	if not timer.is_running():
		timer.start()


'''
Function:
	停止计时
'''
def Stop():
	global timer, color
	timer.stop()
	color = 'red'


'''
Function:
	清空
'''
def Clear():
	global t, timer, color
	timer.stop()
	t = 0
	color = 'white'


'''
Function:
	计时器
'''
def timerHandler():
	global t
	t += 1


'''
Function:
	绘制时间
'''
def drawHandler(canvas):
	t_convert = Convert(t)
	canvas.draw_text(t_convert, (25, 120), 60, color, 'serif')

文章到这里就结束了,感谢你的观看,关注我每天分享Python小工具系列,下篇文章分享简易的计算器

为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。

干货主要有:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

⑥ 两天的Python爬虫训练营直播权限

All done~完整源代码+干货详见个人主页简介或者私信获取

标签:Python,实用工具,global,SimpleGUICS2Pygame,timer,color,frame,def
来源: https://www.cnblogs.com/daimubai/p/15098547.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有