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)正 ...
随机推荐
- JS字符串替换(jQuery)
①自己封装的一个方法String.format String.format = function() { var s = arguments[0]; for (var i = 0; i < ar ...
- Index Filter及ICP特性
原文链接:http://hedengcheng.com/?p=577 (一)问题描述 一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣.当然,要完整描述一条SQL在数据库中的生 ...
- 最短路【bzoj1726】: [Usaco2006 Nov]Roadblocks第二短路
1726: [Usaco2006 Nov]Roadblocks第二短路 Description 贝茜把家搬到了一个小农场,但她常常回到FJ的农场去拜访她的朋友.贝茜很喜欢路边的风景,不想那么快地结束她 ...
- bashrc 与 profile 环境变量
profile 和 bashrc profile只在登陆的时候使用一次(当我们使用远程登陆上),而bashrc在每次新打开一个bash的时候都会执行(相当于path环境(登陆上了每次打开终端)) pr ...
- Gradle 引入本地定制 jar 包
第 1 步:创建文件夹,拷贝 jar 包 在自己的 Gradle 项目里建立一个名为 “libs” (这个名字可以自己定义,不一定非要叫这个名字)的文件夹,把自己本地的 jar 包拷贝到这个文件夹中. ...
- 简单理解php的socket连接
socket建立套接的过程图: 首先了解socket 几个主要函数: socket的关键函数1: socket_create($net参数1,$stream参数2,$protocol参数3) 作用:创 ...
- Linux进程控制理论及几种常见进程间通信机制
1. Linux进程控制理论 ① 进程是一个具有一定独立功能的程序的一次运行活动(动态性.并发性.独立性.异步性). 进程的四要素: (1)有一段程序供其执行(不一定是一个进程所专有的),就像一场戏必 ...
- Java发送http请求(get 与post方法请求)
转载:https://www.cnblogs.com/zzw1994/p/5140538.html
- mybatis-Plus 增强版用法收藏
转载:http://www.cnblogs.com/okong/p/mybatis-plus-guide-one.html#xml%E5%BD%A2%E5%BC%8F https://blog.csd ...
- netty在rpc MQ中的应用
https://files.cnblogs.com/files/yszzu/netty-rpc-parent.zip https://github.com/apache/rocketmq/blob/m ...