codecamp

Tkinter 案例:构建数字时钟

截止到本节为止,和 Tkinter 相关的知识就讲解完毕了,本套教程从 GUI 是什么开始入门讲解,然后带领大家深入学习了 Python GUI 标准库 Tkinter,在教程中,我们主要介绍了 GUI 的相关概念、常用组件和布局方式等知识,下面使用 Tkinter 的相关知识实现一个数字时钟的简单案例。

Tkinter 实现上述功能并不复杂,只要使用 Tkinter 的相关组件和一些简单的逻辑处理即可,在编写这个案例的过程中大家要做到温故而知新。

程序代码如下所示:

  1. from tkinter import *
  2. from time import strftime
  3. root = Tk()
  4. root.geometry('500x350+300+300')
  5. root.iconbitmap('C:/Users/Administrator/Desktop/logo.ico')
  6. root.title("C语言中文网出品")
  7. # 设置文本标签
  8. lb = Label(root, font=("微软雅黑", 50, "bold"), bg='#87CEEB', fg="#B452CD")
  9. lb.pack(anchor="center", fill="both", expand=1)
  10. # 定义一个mode标志
  11. mode = 'time'
  12. # 定义显示时间的函数
  13. def showtime():
  14. if mode == 'time':
  15. #时间格式化处理
  16. string = strftime("%H:%M:%S %p")
  17. else:
  18. string = strftime("%Y-%m-%d")
  19. lb.config(text=string)
  20. # 每隔 1秒钟执行time函数
  21. lb.after(1000, showtime)
  22. # 定义鼠标处理事件,点击时间切换为日期样式显示
  23. def mouseClick(event):
  24. global mode
  25. if mode == 'time':
  26. # 点击切换mode样式为日期样式
  27. mode = 'date'
  28. else:
  29. mode = 'time'
  30. lb.bind("<Button>", mouseClick)
  31. # 调用showtime()函数
  32. showtime()
  33. # 显示窗口
  34. mainloop()

通过上述代码就实现了一个简单的数字时钟,是不是非常的简单。

到此,Tkinter 教程讲解完毕,通过学习本套教程,您能熟练的掌握 Tkinter 的日常应用,学习完后,能够制作出简单的 GUI 程序。本套教程从初学者的角度出发进行讲解,所以对一些细枝末节的知识并未涉及,如果您对 Tkinter 或者 GUI 非常感兴趣,可以进一步的自主学习,这里推荐阅读 Tkinter 官方文档 —>点击前往


Tkinter 对话框控件
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }