Python 反复将Tkinter窗口颜色更改为生成的颜色

Python 反复将Tkinter窗口颜色更改为生成的颜色,python,tkinter,colors,Python,Tkinter,Colors,我有Python代码来生成屏幕的平均颜色,作为RGB值和十六进制代码。代码通过一个while True循环重复自身,我想在这个循环的末尾给出更改窗口颜色的说明 我目前有以下代码: from Tkinter import * from colour import Color root = Tk() root.configure(background="grey") root.geometry("400x400") root.mainloop() while True: [ COLOUR

我有Python代码来生成屏幕的平均颜色,作为RGB值十六进制代码。代码通过一个
while True
循环重复自身,我想在这个循环的末尾给出更改窗口颜色的说明

我目前有以下代码:

from Tkinter import *
from colour import Color

root = Tk()
root.configure(background="grey")
root.geometry("400x400")
root.mainloop()
while True:
    [ COLOUR GENERATING SCRIPT ]
    hexcolour = Color(rgb=(red, green, blue))
    root.configure(background=hexcolour)
有人能告诉我如何启动Tkinter窗口,然后每次循环运行时更改颜色吗


我正在为这个项目运行Python 2.7。

您需要完全删除
循环。相反,创建一个与循环中相同的函数,然后让该函数在
之后通过
调用自身。然后它将在程序的生命周期内运行

from Tkinter import *
from colour import Color

def changeColor():
    [ COLOUR GENERATING SCRIPT ]
    hexcolour = Color(rgb=(red, green, blue))
    root.configure(background=hexcolour)

    # call this function again in one second
    root.after(1000, changeColor)

root = Tk()
root.configure(background="grey")
root.geometry("400x400")

# call it once, it will run forever
changeColor()

root.mainloop()

您需要完全删除
while
循环。相反,创建一个与循环中相同的函数,然后让该函数在
之后通过
调用自身。然后它将在程序的生命周期内运行

from Tkinter import *
from colour import Color

def changeColor():
    [ COLOUR GENERATING SCRIPT ]
    hexcolour = Color(rgb=(red, green, blue))
    root.configure(background=hexcolour)

    # call this function again in one second
    root.after(1000, changeColor)

root = Tk()
root.configure(background="grey")
root.geometry("400x400")

# call it once, it will run forever
changeColor()

root.mainloop()

我已经实现了这个,但是程序只是启动一个空白的CMD窗口,没有Tkinter窗口启动。。。()@YasathDias:唯一的解释是,
[颜色生成脚本]
永远不会结束。这段代码是做什么的?你是对的,我的脚本在不输出任何东西的情况下一遍又一遍地运行,所以在调整了几行之后,它工作得非常好!非常感谢:)我已经实现了这个,但是程序只是启动一个空白的CMD窗口,没有Tkinter窗口启动。。。()@YasathDias:唯一的解释是,
[颜色生成脚本]
永远不会结束。这段代码是做什么的?你是对的,我的脚本在不输出任何东西的情况下一遍又一遍地运行,所以在调整了几行之后,它工作得非常好!非常感谢:)