Python练习题(五)

  • tkinter 多线程计时器、Label、Button
  • tkinter Text、Button、messagebox
  • tkinter Canvas

tkinter 多线程计时器、Label、Button

import tkinter as tk
from threading import Thread, Eventhour = 0class ControlThread(Thread):def __init__(self):self._stop_event = Event()Thread.__init__(self)def run(self):f1()def terminate(self):self._stop_event.set()def stopped(self):return self._stop_event.is_set()def f1():  # 计时def count():global hourglobal xhour += 1hour %= 24label_hour.config(text=str(hour))x = label_hour.after(3600, count)count()def run():global t1t1 = ControlThread()t1.start()def stop():global t1label_hour.after_cancel(x)t1.terminate()root = tk.Tk()root.title("time")label_time = tk.Label(root, text="时刻(h)")
label_time.grid(row=0, column=0, columnspan=3)label_hour = tk.Label(root, bg="lightblue", height=2, width=10)
label_hour.grid(row=0, column=0, columnspan=3)button_run = tk.Button(root, text="Run", command=run)
button_run.grid(row=1, column=0)button_stop = tk.Button(root, text="Stop", command=stop)
button_stop.grid(row=1, column=2)root.mainloop()

tkinter Text、Button、messagebox

import tkinter as tk
from tkinter import messageboxdef submit():'''get(1.0, tk.END)是从第一个字符读到末尾,假设输入为A-B'''inputs = text_input.get(1.0, tk.END).replace('\n', '').split('-')result = []for i in result:result.append(i)print(result)messagebox.showinfo("Info", "Submit Successfully.")  # 第一个字符串是弹窗标题,第二个字符串是弹窗内容text_input.delete(1.0, tk.END)  # 清空文本框的输入root = tk.Tk()root.title("input&submit")text_input = tk.Text(root, bg="yellow", height=2, width=10)
text_input.grid(row=0, column=0, columnspan=3)button_ok = tk.Button(root, text="OK", command=submit)
button_ok.grid(row=1, column=1)root.mainloop()

tkinter Canvas

import tkinter as tkx = {'A': 120, 'F': 360, 'I': 680, 'J': 760,'B': 40, 'E': 200, 'H': 600, 'K': 840,'C': 280, 'G': 520, 'D': 440, 'L': 920
}
y = {'A': 440, 'F': 200, 'I': 360, 'J': 40,'B': 280, 'E': 120, 'H': 280, 'K': 200,'C': 360, 'G': 120, 'D': 440, 'L': 360
}root = tk.Tk()root.title("canvas")canvas_map = tk.Canvas(root, bg="lightgray", height=480, width=960)
canvas_map.grid(row=0, column=1, rowspan=20)'''x轴,虚线'''
canvas_map.create_line(0, 240, 960, 240, dash=(4, 4))
'''y轴,虚线'''
canvas_map.create_line(480, 0, 480, 480, dash=(4, 4))'''绘制不同位置的四个点'''
canvas_map.create_oval(x['C']-10, y['C']-10, x['C']+10, y['C']+10, fill="lightgreen")
canvas_map.create_text(x['C'], y['C'], text="C", font=10)
canvas_map.create_oval(x['E']-10, y['E']-10, x['E']+10, y['E']+10, fill="lightgreen")
canvas_map.create_text(x['E'], y['E'], text="E", font=10)
canvas_map.create_oval(x['F']-10, y['F']-10, x['F']+10, y['F']+10, fill="lightgreen")
canvas_map.create_text(x['F'], y['F'], text="F", font=10)
canvas_map.create_oval(x['J']-10, y['J']-10, x['J']+10, y['J']+10, fill="lightgreen")
canvas_map.create_text(x['J'], y['J'], text="J", font=10)'''绘制不同颜色的实线连线'''
canvas_map.create_line(x['C'], y['C'], x['E'], y['E'], fill="yellow")
canvas_map.create_line(x['E'], y['E'], x['F'], y['F'], fill="blue")
canvas_map.create_line(x['F'], y['F'], x['J'], y['J'], fill="red")root.mainloop()

Python练习题(五)相关推荐

  1. Python练习题五

    每天的练习,成就强大的自己!!!欢迎大家来学习! 一.输出A以内能被B整除的数 读入2个不超过100的非0正整数A和B,然后输出(0,A]中所有能被B整除的数. 输入格式: 输入在一行中给出2个不超过 ...

  2. RUNNOOB python练习题 28 递归 数列

    用来练手的python练习题其28,原题链接:python练习实例28 题干: 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁.问第4个人岁数,他说比第3个人大2岁.问第三个人,又说比第2人 ...

  3. RUNOOB python练习题27 递归逆向输出字符串

    用来练手的python练习题,原题链接: python练习实例27 题干: 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来. 实际要实现这个功能很简单,我们只需要反向遍历字符串即可.源代 ...

  4. 【python第五章——函数】

    python第五章--函数 第五章--函数 5.1函数概述 5.2 函数进阶 下面部分之后再写 5.3函数习题(一些小例子) 第五章--函数 5.1函数概述 快速入门: #定义函数 def func( ...

  5. python编程输入标准-Python练习题,,T1.编写程序,输入

    Python练习题,,T1.编写程序,输入 T1.编写程序,输入一个自然数字符串,然后输出各位数字之和. a=input("输入一串数字:") b=0 for i in a: b= ...

  6. Python练习题 001:4个数字求不重复的3位数

    听说做练习是掌握一门编程语言的最佳途径,那就争取先做满100道题吧. ----------------------------------------------------------------- ...

  7. 孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档

    孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数据库 ...

  8. 数组元素前移后移 RUNOOB python练习题 68

    用来练手的python练习题,原题链接: python练习实例68 题干: 有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数 代码如下: import nump ...

  9. Python打印杨辉三角形 RUNOOB python练习题61

    用来练手的python练习题,原题链接: python练习实例61 题干: 打印出杨辉三角形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 ...

最新文章

  1. 一次对语音技术的彻底批判
  2. 企业网站服务器负载均衡技术
  3. (私人收藏)[开发必备]HTML5最全快速查找离线手册(可查询可学习,带实例)...
  4. Vue 媒体处理(摄像头,截图,播放本地视频)
  5. OJ1007: 鸡兔同笼
  6. Scala 与设计模式(六):Bridge 桥接模式
  7. vue-resource 和 axios的区别
  8. Verilog设计参数化的译码器与编码器,以及设计4位格雷码计数器
  9. 秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4 CAN!
  10. OpenCV_连通区域分析(Connected Component Analysis-Labeling)
  11. 允许用户使用 MAK 密钥激活 Office 2010 批量许可版
  12. OpenHarmony命令行工具hdc_std使用总结
  13. 济南市公安局人口数据备份库项目(数据复制)之一
  14. python学习 Day08 字符串和正则表达式
  15. 袋鼠云数据库数据同步之flinkx1.10版入门-搭配flink1.11
  16. 六轴机器人光机_四轴机器人与六轴机器人有什么区别?
  17. Android使用VideoView播放网络视频
  18. 面试官:说说MySQL中IN和OR的查询效率和区别
  19. LuoguP1710 地铁涨价
  20. 结合FME利用倾斜三维模型数据成果生成DSM等数据产品

热门文章

  1. 【MySQL】6.0 表的增删查改
  2. 数据存储领域的“归档Archive”
  3. 教你如何用FVD Downloader下载在线视频
  4. 如何通过轨迹信息判断驾驶人是否为同一人?
  5. Linux下的回收站trash
  6. 不支持python数据类型_python不支持的数据类型有( )。_学小易找答案
  7. brpc源码学习(二)-bthread的创建与切换
  8. java从键盘输入n个整数_java求解,从键盘输入n个数,要求第一行输入n的值,第二行输入n个数。...
  9. Linux | buildroot使用介绍
  10. OC中声明变量的几种方式