代码可以这样写:
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