千家信息网

python中如何使用tkinter实现透明窗体上绘制随机出现的小球

发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇"python中如何使用tkinter实现透明窗体上绘制随机出现的小球"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章
千家信息网最后更新 2025年11月10日python中如何使用tkinter实现透明窗体上绘制随机出现的小球

这篇"python中如何使用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 = "#xxx" % (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实现透明窗体上绘制随机出现的小球"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

0