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实现的Google IP 可用性检测脚本
Apr 23 Python
python实现从pdf文件中提取文本,并自动翻译的方法
Nov 28 Python
Django Rest framework之认证的实现代码
Dec 17 Python
python利用小波分析进行特征提取的实例
Jan 09 Python
python实现词法分析器
Jan 31 Python
Django后端接收嵌套Json数据及解析详解
Jul 17 Python
Python的垃圾回收机制详解
Aug 28 Python
python无序链表删除重复项的方法
Jan 17 Python
音频处理 windows10下python三方库librosa安装教程
Jun 20 Python
Python3 搭建Qt5 环境的方法示例
Jul 16 Python
Python非单向递归函数如何返回全部结果
Dec 18 Python
利用Python如何画一颗心、小人发射爱心
Feb 21 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中header的用法详解
2013/06/07 PHP
PHP连接Access数据库的方法小结
2013/06/20 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
利用php-cli和任务计划实现刷新token功能的方法
2017/05/03 PHP
PHP以json或xml格式返回请求数据的方法
2018/05/31 PHP
php面向对象程序设计入门教程
2019/06/22 PHP
javascript FormatNumber函数实现方法
2008/12/30 Javascript
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
JavaScript实现多个重叠层点击切换效果的方法
2015/04/24 Javascript
JQuery实现鼠标移动图片显示描述层的方法
2015/06/25 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
javascript实现2016新年版日历
2016/01/25 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
vue 挂载路由到头部导航的方法
2017/11/13 Javascript
vue-awesome-swiper滑块插件使用方法详解
2017/11/27 Javascript
JS/jQuery实现DIV延时几秒后消失或显示的方法
2018/02/12 jQuery
vant 中van-list的用法说明
2020/11/11 Javascript
[01:32]DOTA2次级联赛——首支职业女子战队选拔赛全记录
2014/10/23 DOTA
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
Python编程深度学习计算库之numpy
2018/12/28 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
用python发送微信消息
2020/12/21 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
2021/03/04 Python
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
Expedia丹麦:全球领先的旅游网站
2018/03/18 全球购物
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
巴西网上药店:Drogaria Araujo
2021/01/06 全球购物
Python如何实现单例模式
2016/06/03 面试题
农民工工资支付承诺函
2014/03/31 职场文书
租车协议书
2015/01/27 职场文书
护士个人年度总结范文
2015/02/13 职场文书
出国留学自荐信模板
2015/03/06 职场文书