python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)


Posted in Python onMay 17, 2021

在上一篇的基础上,继续在透明窗体上绘制小球

一、画个大球看看

(一)核心代码

在on_resize函数内部增加如下画圆的代码

canvas.create_oval(100, 100, 200, 200,
                       outline='yellow',  # 边框颜色
                       fill='pink',  # 填充颜色
                       width=4  # 边框宽度
                       )

运行效果如下:

python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)

嘻嘻,是不是觉得有点意思。

好吧,后续我会分享这部分的完整代码给各位,希望大家不是拿来主义,能点点赞、关注一下我啊。

二、让小球随机运动起来

(一)核心函数

def create_ball(canvas,tk):
    # tkinter绘图采用屏幕坐标系,原点在左上角,x从左往右递增,y从上往下递增
    # 在绘图区域内,随机产生当前球的圆心的x坐标和y坐标,用于制定出现的位置
    xpos = randint(10, int(tk.winfo_width()))
    ypos = randint(10, int(tk.winfo_height()))

    # 随机产生表示当前球的大小,也就是半径长度
    radius = randint(40, 70)

    # 通过lambda表达式创建函数对象r,每次调用r()都会产生0~255之间的数字
    r = lambda: randint(0, 255)

    # 三次调用的数字取前两位,用十六进制数方式存储到self.color里,作为球的颜色
    # RRGGBB,前2是红色,中2是绿色,后2是蓝色,最小是0,最大是F

    # 如全黑#000000  全白#FFFFFF  全红#FF0000
    color = "#%02x%02x%02x" % (r(), r(), r())

    # canvas.create_oval可以绘制一个圆
    # 但是需要传入圆的左、上、右、下四个坐标
    # 所以我们先产生4个坐标,通过这个四个坐标,绘制圆的大小

    # 左坐标=x坐标-半径
    x1 = xpos - radius
    # 上坐标=y坐标-半径
    y1 = ypos - radius
    # 右坐标=x坐标+半径
    x2 = xpos + radius
    # 下坐标=y坐标+半径
    y2 = ypos + radius

    # 通过canvas.create_oval()方法绘出整个圆,填充色和轮廓色分别是self.color生成的颜色
    canvas.delete('ball')
    ball = canvas.create_oval(x1, y1, x2, y2, fill=color, outline=color,tag='ball')
    # canvas.addtag_all('t5')
    print(x1,y1,x2,y2,color,radius)

    canvas.after(1000, create_ball,canvas,tk)

(二)运行效果

python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)

随机的小球运动效果就出来了。

三、更多参数的优化

(一)去掉标题栏

tk.overrideredirect(1)

(二)置顶显示

tk.wm_attributes("-topmost", 1)

(三)把旁边的白边去掉

canvas.config(highlightthickness=0)

呵呵,窗体最后就变成光秃秃的了。
也许按需使用会更好!!

(四)运行效果

python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)

呵呵,什么都没有了,只剩下随机的小球还在界面上显示。

代码量不大,效果还行。
再深入研究可以有更多更有趣的应用。

以上就是python使用tkinter实现透明窗体上绘制随机出现的小球的详细内容,更多关于python tkinter透明窗体小球的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python的Tornado框架异步编程入门实例
Apr 24 Python
python使用urllib2提交http post请求的方法
May 26 Python
Python学习思维导图(必看篇)
Jun 26 Python
python数据预处理之将类别数据转换为数值的方法
Jul 05 Python
Python 循环语句之 while,for语句详解
Apr 23 Python
Flask框架URL管理操作示例【基于@app.route】
Jul 23 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
Sep 04 Python
django2.2安装错误最全的解决方案(小结)
Sep 24 Python
使用pytorch实现可视化中间层的结果
Dec 30 Python
python实现飞行棋游戏
Feb 05 Python
python利用datetime模块计算程序运行时间问题
Feb 20 Python
python用什么编辑器进行项目开发
Jun 17 Python
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
Pytorch 实现变量类型转换
Python进度条的使用
May 17 #Python
Python包管理工具pip的15 个使用小技巧
Python中json.dumps()函数的使用解析
May 17 #Python
Python中threading库实现线程锁与释放锁
Python中Cookies导出某站用户数据的方法
May 17 #Python
You might like
PHP安全编程之加密功能
2006/10/09 PHP
深入理解PHP之require/include顺序 推荐
2011/01/02 PHP
php实现mysql数据库操作类分享
2014/02/14 PHP
php验证session无效的解决方法
2014/11/04 PHP
学习php设计模式 php实现观察者模式(Observer)
2015/12/09 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
2018/10/12 PHP
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
分析了一下JQuery中的extend方法实现原理
2015/02/27 Javascript
详谈javascript中的cookie
2015/06/03 Javascript
微信小程序开发经验总结(推荐)
2017/01/11 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
微信小程序使用request网络请求操作实例
2017/12/15 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
原生JS实现列表内容自动向上滚动效果
2019/05/22 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
微信小程序拼接图片链接无底洞深入探究
2019/09/03 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
Element Dialog对话框的使用示例
2020/07/26 Javascript
[07:59]2014DOTA2叨叨刀塔 林熊猫称被邀请赛现场盛况震撼
2014/07/21 DOTA
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
简单介绍Python中用于求最小值的min()方法
2015/05/15 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
2020/04/30 Python
Python 通过正则表达式快速获取电影的下载地址
2020/08/17 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
Python 列表反转显示的四种方法
2020/11/16 Python
基于 HTML5 WebGL 实现的垃圾分类系统
2019/10/08 HTML / CSS
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
Get The Label中文官网:英国运动时尚购物平台
2017/04/19 全球购物
教师反腐倡廉演讲稿
2014/09/03 职场文书
实验心得体会
2014/09/05 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
蓬莱阁导游词
2015/02/04 职场文书
用Python创建简易网站图文教程
2021/06/11 Python