Python:Tkinter的GUI设计——物体实时移动
参考:
1.Tkinter之Canvas篇
2.python GUI实践:做一个满图乱跑的小球
3.[Tkinter 教程08] Canvas 图形绘制
4.tkinter模块常用参数(python3)
程序
核心步骤是坐标的移动 和窗口的更新。
from tkinter import *
import time
tk = Tk() #画布
tk.title('EIT_tank')
tk.resizable(0,0) #固定窗口大小
tank = Canvas(tk, width=600, height=600,bg='ivory')
tank.pack() #默认布局
tank.create_oval(30,30,570,570,width = 1.5) #横轴x
tank.create_line(30,300,570,300,width = 1.5,fill='red',dash=6) #网格,虚线
tank.create_line(300,30,300,570,width = 1.5,fill='red',dash=6)
id_obj = tank.create_oval(130, 130, 270, 270,width = 0,fill = 'gray') #物体
def move_obj(tank,idx,pos): #移动坐标
if pos == 1:
tank.coords(idx, (330, 330, 470, 470))
elif pos == 2:
tank.coords(idx, (330,130, 470, 270))
elif pos == 3:
tank.coords(idx, (130, 130, 270, 270))
elif pos ==4:
tank.coords(idx, (130, 330, 270, 470))
else:
return 0
while 1:
move_obj(tank,id_obj,1)
time.sleep(0.5)
tk.update_idletasks()
tk.update()
move_obj(tank,id_obj,2)
time.sleep(0.5)
tk.update_idletasks()
tk.update()
move_obj(tank,id_obj,3)
time.sleep(0.5)
tk.update_idletasks()
tk.update()
move_obj(tank,id_obj,4)
time.sleep(0.5)
tk.update_idletasks()
tk.update()
效果图
(非常好用的一个gif软件:GifCam)
Python:Tkinter的GUI设计——物体实时移动的更多相关文章
- tkinter的GUI设计:界面与逻辑分离(一)-- 初次见面
PyQt实现界面与逻辑分离的设计很是方便,详情可以见我的第一篇博文. 不过本文将使用python的标准库 tkinter,来实现界面与逻辑分离的GUI 设计. 我们来设计一个很简单的程序: 目的:长度 ...
- tkinter的GUI设计:界面与逻辑分离(四)-- 与 matplotlib 结合
有些场合,我们需要对数据可视化.单是靠 tkinter 难度太大,而且做出来的效果不一定理想. 此时,将 tkinter 与 matplotlib 结合,是最好的选择. 知识点: 将 tkinter ...
- tkinter的GUI设计:界面与逻辑分离(三)-- 多页面
知识点: 使用 tkinter.Frame.tkraise() 函数去提升当前 tkinter.Frame 的 z 轴顺序,使得多个 tkinter.Frame 的可见性得以切换 本文基于:win7 ...
- tkinter的GUI设计:界面与逻辑分离(二)-- 菜单栏
由于要用到文件对话框和消息对话框,所以先给出下面的列表. py2 与 py3 中 tkinter 的变化: Tkinter → tkinter tkMessageBox → tkinter.messa ...
- tkinter——GUI设计实操
1.创建root: from tkinter import * root = Tk() root.title('GUI设计') # root.attributes("-alpha" ...
- Python内建GUI模块Tkinter(一)
Python主窗口 Python特定的GUI界面,是一个图像的窗口,tkinter是python自带的,可以编辑的GUI界面,我们可以用GUI实现很多一个直观的功能,如何想开发一个计算器,如果只是一个 ...
- Tkinter图形界面设计(GUI)
[因为这是我第一个接触的GUI图形界面python库,现在也不用了,所以大多数内容都来自之前花 钱买的一些快速入门的内容,可以当作简单的知识点查询使用] 在此声明:内容来自微信公众号GitChat,付 ...
- python gui tkinter快速入门教程 | python tkinter tutorial
本文首发于个人博客https://kezunlin.me/post/d5c57f56/,欢迎阅读最新内容! python tkinter tutorial Guide main ui messageb ...
- python的re模块一些方法 && Tkinter图形界面设计 && 终止python运行函数 && python读写文件 && python一旦给字符串赋值就不能单独改变某个字符,除非重新给变量赋值
Tkinter图形界面设计见:https://www.cnblogs.com/pywjh/p/9527828.html#radiobutton 终止python运行函数: 采用sys.exit(0)正 ...
随机推荐
- 2018第九届蓝桥杯决赛(C++ B组)
逛了大半个北京还是挺好玩de 第一题 标题:换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种. 小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱. ...
- 小程序不在以下 request 合法域名列表中
我们如果是正式上线可以在小程序后台配置合法域名,必须是https 测试时我们可以关闭验证 在 设置 - 项目设置 里勾选不校验https 和 TLS
- 项目笔记《DeepLung:Deep 3D Dual Path Nets for Automated Pulmonary Nodule Detection and Classification》(二)(上)模型设计
我只讲讲检测部分的模型,后面两样性分类的试验我没有做,这篇论文采用了很多肺结节检测论文都采用的u-net结构,准确地说是具有DPN结构的3D版本的u-net,直接上图. DPN是颜水成老师团队的成果, ...
- 【Leetcode】Count and Say
The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ...
- java——io、字节流缓冲区拷贝文件、字节缓冲流
使用try catch finally关闭文件流: 写入文件: import java.io.*; public class exp{ public static void main(String[] ...
- linux下pid命令
ps aux | grep tomcat| awk '{if(NR==1)print $2}' Linux:批量修改分隔符(awk.BEGIN.FS.OFS.print.tr命令) 批量修改文件的分 ...
- java多线程(一)
一.进程,线程,并发,并行 1.1 进程和线程的区别 进程是指:一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程.比如在Windows系统中,一个运 ...
- 性能测试工具LoadRunner22-LR之Analysis 简介
Analysis功能: 对测试运行结果进行查看.分析和比较 导入分析文件 注意LoadRunner Results文件和Analysis Session Files的区别.LoadRunner Res ...
- 性能测试工具LoadRunner20-LR之Controller Service-Level Agreement(服务水平协议)
SLA是为负载测试场景定义的具体目标.例如,评测脚本中任意数量事务的平均响应时间,可以定义具体的目标或阈值.测试运行结束之后,LR将你定义的目标与实际录制的平均事务响应时间进行比较.如果实际的平均事务 ...
- [转]js add month 加n月
本文转自:http://stackoverflow.com/questions/5645058/how-to-add-months-to-a-date-in-javascript/5645126 I ...