Python 用tkinter,显示随机颜色球,按键更新球的位置

代码可以这样写:

import tkinter as tk 
from random import *
root=tk.Tk()

root.title('Random Balls')#窗体标题
root.geometry('600x400')#窗体大小

cav = tk.Canvas(root, height=350, width=350)#新建一个画布,并设定宽高
r=10#小球半径
def c(): 
    return randint(0, 255)#随机选择0-255之间的一个整数
def dis():#定义图像显示
    cav.delete('ball')#先清空画布,每次调用时都重新画小球
    for i in range(10): #画10个小球       
        color = "#%02x%02x%02x" % (c(), c(),c())#调用c函数生成颜色,用颜色十六进制形式表示
        
        ## 在绘图区域内,随机产生当前球的圆心的x坐标和y坐标,用于表示出现的位置
        xpos = randint(10, 500)
        ypos = randint(10, 300)
        # canvas.create_oval可以绘制一个圆
        # 但是需要传入圆的左、上、右、下四个坐标
        # 所以我们先产生4个坐标,通过这个四个坐标,绘制圆的大小
        x1 = xpos - r#左坐标
        y1 = ypos - r#上坐标
        x2 = xpos + r#右坐标
        y2 = ypos + r#下坐标
        #绘出整个圆,填充色和轮廓色分别是color生成的颜色
        cav.create_oval(x1,y1,x2,y2,fill=color,outline=color,tag='ball')        

btn = tk.Button(root, text='Display', command=dis)#设置按钮控件,并调用显示函数
cav.pack(fill='both',expand='y')#放置画布位置
btn.pack(side='bottom')#放置按钮位置
root.mainloop()#事件循环

如有帮助,请点采纳。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632