过分了,别人用来做桌面应用开发,这家伙却用来撩妹(4)--运动的火柴人
我算是知道了,这个tkinter是真的好玩,还非常有趣,希望大家都可以去了解一下。
哈哈,先看成品,再决定是否有学习的兴趣。
目录
系列文章
前言
原理解析
需求说明
材料图片
第一步:实现一个弹框
第二步:插入图片
第三步:实现图片轮播
总结
系列文章
1、过分了,别人用来做桌面应用开发,这家伙却用来撩妹(2)-上帝给你开了各种撩妹窗口(Tkinter)
2、过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)
3、(tkinter)撩妹弹窗(3)之不要越过三八线,canvas的使用方法
前言
从图中大家就可以看出来,这次我们要制作的东西,非常好玩有没有,这就是编程的魅力,能实现我们想要的东西。当然了,这只是皮毛而已。
上图中的需求实现总的只有20多行代码,对于新手来说还是比较容易上手的。当然老手那就更不用说了。
原理解析
博主其实也是一位动漫粉,俄而也会看看动漫,还是觉得很有意思的,感觉超酷的,比如我看的一部《刺客伍六七》,不知道大家有没有看过,咳咳咳,有点跑偏了……
首先我们梳理一下动漫是如何形成的。
你可以这样理解,假如把你的每一个动作分解开来,都做成为一张照片,那我们就会得到很多张连续的照片。反过来,我们把所有连贯的照片依次展示出来,是不是就是你的一个完整动作。
那当我们把火柴人的跑步动作分解为图片,然后再将图片依次播放,是不是就是得到了一个移动的火柴人。理论存在,实践开始。
需求说明
虽然已经有图了,但我们还是来说明一下我们的需求,方便大家理解。
1、我有一组连贯的火柴人图片。
2、把这些图片组合在一起,形成一个会动的火柴人
3、移动窗口,火柴人就会运动,停止窗口,火柴人就会停止。
材料图片
顺序为,当然,你也可以用其他图片代替哦。
123
456
789
第一步:实现一个弹框
首先,先来实现一个弹框。
import tkinter
from tkinter import *
tk=tkinter.Tk()def window():tk.title("窗口") # 设置窗口名称tk.geometry("300x300+500+300")tk.iconbitmap('favicon.ico')tk["background"] = "#7AC5CD"# tk.attributes("-toolwindow", True)#隐藏顶部工具栏之后,icon不会显示tk.mainloop()if __name__ == '__main__':window()
第二步:插入图片
代码如下:
import tkinter, time
from tkinter import *
tk = tkinter.Tk()
tk.title("窗口") # 设置窗口名称
tk.geometry("200x220+200+220")
w = tk.winfo_screenwidth() # 获取屏幕宽
h = tk.winfo_screenheight() # 获取屏幕高
cn = Canvas(tk, height=h, width=w, bg="white") # bg="pink"
photo=PhotoImage(file="robot.PNG")def update_test(e):cn.delete(tkinter.ALL)tk.update()cn.create_image(100, 100, image=photo)cn.pack()tk.bind("<Configure>", update_test)
tk.mainloop()
第三步:实现图片轮播
代码如下:
import tkinter,time
from tkinter import *tk = tkinter.Tk()
tk.title("窗口") # 设置窗口名称
tk.geometry("200x220+200+220")
w = tk.winfo_screenwidth() # 获取屏幕宽
h = tk.winfo_screenheight() # 获取屏幕高
cn = Canvas(tk, height=h, width=w, bg="white") # bg="pink"
list,a=[],1
for i in range(1,10):list.append(PhotoImage(file="robot_" + str(i) + ".PNG"))#图片列表def update_test(e):cn.delete(tkinter.ALL)tk.update()global a#设置全局变量for i in range(1,10):if a==9:a=1cn.create_image(100,100, image=list[0])else:cn.create_image(100,100, image=list[a])a+=1breakcn.pack()
tk.bind("<Configure>", update_test)
tk.mainloop()
这里有两个特别注意的点,变量list,和a,list为图片列表。a为全局变量,控制图片轮播。
思路:当窗口移动,窗口改变事件启动,如果a等于9的时候,就重新计算a的值,并创建图片,如果不创建图片,可能就是空白的哦,其他情况就先取列表数据,创建图片,然后再将a加一,下一次就会取第二张图片,依次反复。
总结
本篇文章主要灵活使用画布功能以及画布图片创建的应用,帮助大家更好的了解画布功能。
扩展:在上面这个基础上,当我们换上女朋友或者自己老婆和一些图片,是不是也一样可以用起来。
相关文章:
1、过分了,别人用来做桌面应用开发,这家伙却用来撩妹(2)-上帝给你开了各种撩妹窗口(Tkinter)
2、过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)
3、(tkinter)撩妹弹窗(3)之不要越过三八线,canvas的使用方法
过分了,别人用来做桌面应用开发,这家伙却用来撩妹(4)--运动的火柴人相关推荐
- 过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)
过分了,别人用来做桌面应用开发,这家伙却用来撩妹(1)--上帝给你开一个窗口(Tkinter)-tkinter常用函数解析 前言 构思了很长一段时间,迟迟没有动手编写,因为总感觉不够有趣,斟酌了许 ...
- 过分了,别人用来做桌面应用开发,这家伙却用来撩妹(2)-上帝给你开了各种撩妹窗口(Tkinter)
过分了,别人用来做桌面应用开发,这家伙却用来撩妹(2)-上帝给你开了各种撩妹窗口(Tkinter) 续上一篇学习,我们搞定了了tkinter的基础函数,这次我们开始来搞事情. 一.目录 过分了,别人用 ...
- 过分了,别人用来做桌面应用开发,这家伙却用来撩妹(6)-不正经的隐形弹窗
前言 在前面已经学习了很多,制作弹窗的方式,但是没有一个透明的弹窗.这次我们来做一个透明的弹窗好了.如图,先来感受一下. 还记得以前电脑上莫名其妙安装的游戏吗?窗口并不是方形的.以及在双十一左右时,你 ...
- windows桌面程序开发
对于综合数据管理平台,目前是B/S结构,数据为即时传递,很依赖网络.桌面应用的开发可以避免一些由于网络带来的问题,例如数据的提交.经过调研学习,目前我发现共7种桌面应用开发技术.其中WPF,QT,Du ...
- Java桌面程序开发——如何开发美观漂亮好看的桌面程序
大家想到使用Java这门编程语言大多是脑海中是浮现的B/S开发,高并发.云计算.大数据等等,今天给大家带来的是Java不一样的使用方式--使用Java做PC桌面程序开发. 不同的是,之前Java是使用 ...
- 【转】Java桌面程序开发——如何开发美观漂亮好看的桌面程序
大家想到使用Java这门编程语言大多是脑海中是浮现的B/S开发,高并发.云计算.大数据等等,今天给大家带来的是Java不一样的使用方式--使用Java做PC桌面程序开发. 不同的是,之前Java是使用 ...
- 桌面软件开发的复杂性在哪里,一个程序员能完成一个桌面软件开发吗
桌面软件开发的复杂性在哪里,一个程序员能完成一个桌面软件开发吗.这个估计是很多软件开发外行人士的疑惑.而事实就是一个程序员完成不了一个桌面软件开发这个是为什么,桌面软件开发很复杂吗. 目前软件公司普通 ...
- 使用Duilib做桌面应用总结
使用Duilib做桌面应用总结 最近使用Duilib做了一个简单的桌面应用,在此做一个简单的总结,一是为了记录自己的学习过程,二是对Duilib的使用做一个简单的总结以便后期使用时查阅. Duilib ...
- 你觉得你有那些特质让你比别人更适合做产品经理?
面试中我们可能会被问到这样一个问题,你觉得你有哪些特质让你比别人更适合做产品经理?产品小白尤其会被问到这个问题.那针对这个问题我们该如何回答呢?今天就来和大家聊聊这个话题. 面试题分析: 面试官一是想 ...
最新文章
- 【Clickhouse】Dockerfile 文件,加入 mysql
- ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Identify功能(六)
- maven 结合idea入门
- JavaScript 图片的上传前预览
- OpenShift 4 Tekton - 用Webhook实现CI/CD
- 莫名其妙的java.lang.NoClassDefFoundError
- Docker离线安装教程(Centos7) 转帖
- 力扣-203 移除链表元素
- 【渝粤教育】国家开放大学2018年春季 0043-21T计算机文化 参考试题
- mips 系统桥_系统功能调用实现简单输入输出(mips)
- 时间控件(选择时间范围的插件)
- 小程序结合腾讯地图(QQMapWX)SDK做位置周边搜索展示
- linux硬盘速度测试方法
- 互联网日报 | 华为鸿蒙OS 2.0正式发布;微信小程序日活用户超4亿;百胜中国回港上市首日破发...
- android手机没电怎么恢复电量,Android手机电池电量剩下通知
- PCB设计布局布线,这几点技巧必须要了解!
- Web入门(1)——制作简单的网页
- 考研报名电脑显示服务器错误,2021考研报名常见问题:网报过程中,发现考生姓名、证件号码等信息有误怎么办?...
- GEE学习笔记:在Google Earth Engine(GEE)中批量下载Sentinel-2影像
- 动态加载烘培贴图与Terrain转mesh