dragov 发表于 3 天前

Tkinter 随机颜色 ?



from tkinter import *
import random
root=Tk()
colors="%d.:06x"%(random.randint(0,0xFFFFFF))
m=["A","B","C"]
for j in m:
      Button(root,
               text=j,
               font="方正祥隶简体 23 bold",
               foreground=colors,
               background="bisque",
               relief="sunken",
               borderwidth=9,
               overrelief="groove").pack()
mainloop()


随 机 颜 色 怎 么 出 不 来 呢 ?

FishC 发表于 3 天前

你好!你的代码中随机颜色的生成部分有误,导致颜色无法正常显示。

问题出在这一行:
colors="%d.:06x"%(random.randint(0,0xFFFFFF))
这里应该使用正确的字符串格式化来生成十六进制颜色代码。另外,变量 m 没有定义,所以循环不会执行。

修正方法:
1. 使用 "#%06x" 来生成随机颜色。
2. 定义 m 为一个可迭代对象,例如字符串或列表。

以下是修正后的完整代码示例:


from tkinter import *
import random

root = Tk()
m = "ABC"# 这里假设 m 是一个字符串,用于按钮文本
for j in m:
    color = "#%06x" % random.randint(0, 0xFFFFFF)# 正确生成随机颜色
    Button(root,
         text=j,
         font="方正祥隶简体 23 bold",
         foreground=color,# 应用随机颜色
         background="bisque",
         relief="sunken",
         borderwidth=9,
         overrelief="groove").pack()

mainloop()


这样,每个按钮的前景色都会随机变化。如果你希望所有按钮使用相同的随机颜色,可以将颜色生成移到循环外部。

如果还有其他问题,欢迎继续问!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

大山里的都市 发表于 前天 22:38

{:10_249:}
页: [1]
查看完整版本: Tkinter 随机颜色 ?