当前位置:   article > 正文

tkinter canvas jpg_tkinter有趣的小项目汇总

tkinter中canvas有趣 csdn

这是一篇对于近来闲着无聊搞的tkinter小程序的汇总。

首先说一下版本是python3.6,在python3.x以后,tkinter已经是内置模块了,不需要额外安装。

这是在网上找的Tkinter知识框架图:

26aaac8a2edbf7fdb3ad05282375ac34.png

tkinter内部的组件和方法很多,对于tkinter这个模块,个人不建议专门找一本书啃下来,最好的学习方式,就是在项目中边查边练,毕竟想一口气把所有内容记住也不太现实。

下面是我自己做的一些项目的汇总,难度不大,重点是挺有趣的:

1.王者荣耀抽卡程序

花果山美男子:tkinter版自制王者荣耀抽卡程序​zhuanlan.zhihu.com
花果山美男子:tkinter版自制王者荣耀抽卡程序(2)​zhuanlan.zhihu.com

这里面用的都是最基本的tkinter组件,包括button、label、text文本框和messagebox消息框等,最核心的内容是label中图片的更新,其中如果是jpg格式需要用ImageTk.PhotoImage来转换。

2.简易提词板

花果山美男子:tkinter做一个简易提词板​zhuanlan.zhihu.com
花果山美男子:tkinter做一个简易提词板(2)​zhuanlan.zhihu.com

第一篇文章利用for循环实现了文字的动态更替效果,原理是label中文字的更新;

第二篇文章改用StringVar和.after()的递归调用来实现,这种方法可以接收外部响应。

3.体重档案

花果山美男子:tkinter做一个体重档案​zhuanlan.zhihu.com
花果山美男子:tkinter做一个体重档案(2)​zhuanlan.zhihu.com

这是一个比较复杂的项目,结合了万年历、秒表和照片查看器等功能。展示了如何用类来实现tkinter的项目,结构比较完整。

用到的最主要的控件还是label,同时用到了.bind来绑定组件和鼠标事件

4.模拟发牌

花果山美男子:tkinter模拟扑克牌和狼人杀发牌​zhuanlan.zhihu.com
花果山美男子:tkinter模拟斗地主发牌​zhuanlan.zhihu.com

这是一个canvas画布的实例,本质就是将画布布置在Tk界面上,然后再在画布上进行绘制和布局。第一篇文章模拟了发牌结果和简单动态效果,第二篇文章则对斗地主发牌过程进行了完整的模拟,用到了对于画布指定组件的删除

5.视频播放器

花果山美男子:tkinter做一个本地视频播放器​zhuanlan.zhihu.com
花果山美男子:tkinter做一个本地视频播放器(2)——弹幕​zhuanlan.zhihu.com

这个项目结合了opencv和canvas画布,实现本地视频文件的播放(无声音),如果想要收音,只能单独提取出音频文件,与视频同时播放。以上方法还可用于摄像头的实时监控,以及多个摄像头监控的同时显示。

第一篇文章的干货很多:文中还提到了如何用moviepy库提取并保存视频文件中的音轨,以及用pygame库播放mp3文件python的多进程运行。最后还简单介绍了用如何实现视频的暂停、倍速和进度条功能;

第二篇文章在前文基础上,增加了播放列表、实时弹幕和跳转进度的功能;用到了下拉框ttk.Combobox和滚动条Scale。

6.画板

花果山美男子:tkinter实现简易画板​zhuanlan.zhihu.com

这篇文章利用canvas画布自带的绘制图形的函数,实现了一个简单的画板。其中主要用到了鼠标事件的绑定;本项目的难点是利用对canvas指定组件的删除,实现“撤销”功能;同时提到了在canvas不提供保存图片的前提下,如何用PIL库来截屏

7.五子棋

花果山美男子:tkinter实现类五子棋游戏​zhuanlan.zhihu.com

这篇文章以五子棋为基础,开发出了一种新的玩法——“四五棋”。主要用到了canvas画布的图形绘制和Label的文字显示,难点在于每次落子后的相应算法判断。

8.篮球经理游戏

花果山美男子:tkinter模拟篮球经理游戏​zhuanlan.zhihu.com

900多行代码实现一个模拟版的篮球经理。

9.圆盘时钟

花果山美男子:tkinter做一个圆盘时钟​zhuanlan.zhihu.com

这篇文章复习了canvas绘制图形的方法,并用它们实现了一个简单的圆盘时钟。

10.拼图

花果山美男子:tkinter做一个拼图游戏​zhuanlan.zhihu.com

这篇文章主要运用了canvas画布与鼠标事件的绑定,其中"<B1-Motion>" 是拖动左键,
"<Button-1>"是点击左键,"<Button-3>"是点击右键,"<Motion>" 是移动鼠标;同时介绍了变量的批量创建与调用

11.小人走路动画

花果山美男子:tkinter实现小人走路动画​zhuanlan.zhihu.com

这篇文章依然用canvas画布与鼠标事件的绑定,实现了简单的动画效果。

后续有待补充……

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/230018
推荐阅读
相关标签
  

闽ICP备14008679号