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

 更新时间:2021年05月17日 09:03:56   作者:dhjabc_1  
今天教大家怎么实现Tkinter透明窗体,在上篇文章给大家介绍过透明窗体上绘制小球,今天接着通过实例代码给大家分享python使用tkinter实现透明窗体上绘制随机出现的小球的实例代码,感兴趣的朋友跟随小编一起看看吧

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

一、画个大球看看

(一)核心代码

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

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

运行效果如下:

在这里插入图片描述

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

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

二、让小球随机运动起来

(一)核心函数

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)

(二)运行效果

在这里插入图片描述
在这里插入图片描述

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

三、更多参数的优化

(一)去掉标题栏

tk.overrideredirect(1)

(二)置顶显示

tk.wm_attributes("-topmost", 1)

(三)把旁边的白边去掉

canvas.config(highlightthickness=0)

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

(四)运行效果

在这里插入图片描述
在这里插入图片描述

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

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

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

相关文章

  • Python中的Selenium异常处理

    Python中的Selenium异常处理

    这篇文章介绍了Python中的Selenium异常处理,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • 用Python生成会跳舞的美女

    用Python生成会跳舞的美女

    大家好,本篇文章主要讲的是用Python生成会跳舞的美女,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • Python实现读取Excel表数据并转为JSON格式文件

    Python实现读取Excel表数据并转为JSON格式文件

    这篇文章主要为大家详细介绍了Python如何使用pandas库读取Excel表并将其转为JSON格式文件,文中的示例代码讲解详细,感兴趣的小伙伴可以参考下
    2025-04-04
  • Python实现自动为照片添加日期并分类的方法

    Python实现自动为照片添加日期并分类的方法

    这篇文章主要介绍了Python实现自动为照片添加日期并分类的方法,涉及Python针对文件与目录的遍历、判断、修改、复制及文件属性的相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • Python实现npy/mat文件的保存与读取

    Python实现npy/mat文件的保存与读取

    除了常用的csv文件和excel文件之外,我们还可以通过Python把数据保存文npy文件格式和mat文件格式。本文为大家展示了实现npy文件与mat文件的保存与读取的示例代码,需要的可以参考一下
    2022-04-04
  • 跟老齐学Python之Python安装

    跟老齐学Python之Python安装

    本文主要讲诉了在Linux,Windows,MacOS三大系统中如何安装Python环境,非常的实用,虽然前面絮絮叨叨的说了不少题外话,但都是作者的肺腑之言,还是仔细看看吧
    2014-09-09
  • Python实现获取当前目录下文件名代码详解

    Python实现获取当前目录下文件名代码详解

    这篇文章主要介绍了Python实现获取当前目录下文件名,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Python一行代码识别增值税发票实现示例

    Python一行代码识别增值税发票实现示例

    这篇文章主要为大家介绍了Python一行代码识别增值税发票实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 使用Python3实现判断函数的圈复杂度

    使用Python3实现判断函数的圈复杂度

    编写函数最重要的原则就是:别写太复杂的函数,那什么样的函数才能算是过于复杂?一般会通过两个标准来判断,长度和圈复杂度,下面我们就来看看如何使用Python判断函数的圈复杂度吧
    2024-04-04
  • python调用cmd命令行制作刷博器

    python调用cmd命令行制作刷博器

    这篇文章主要介绍了Python制作一个简单的刷博器,可以学习Python线程、调用cmd命令行、打开网页的知识点,大家参考使用吧
    2014-01-01

最新评论