2014-09-23 227 views
1

我想每次单击该按钮并调用该命令时都要更改标签中的文本。这里是我的代码:如何更改Tkinter中的标签值

from Tkinter import * 
from random import * 

def background(): 
    x = randrange(255) 
    y = randrange(255) 
    z = randrange(255) 
    rgb_color = [x,y,z] 
    mycolor = '#%02x%02x%02x' % (x, y, z) 
    app.configure(bg=mycolor) 
    label1 = Label(app, text=rgb_color) 
    label1.pack() 

app = Tk() 
app.geometry("500x400+5+5") 
app.resizable(0,0) 
app.title("Color Code") 
button1 = Button(app, text="Change", command=background) 
button1.pack() 
app.mainloop() 

每次单击按钮时,都会在其下创建一个新标签。我怎样才能让它改变基于rgb_color的当前标签? 谢谢。

回答

1

我想我明白你想告诉我,如果我不正确。下面的代码会在第一次调用background时创建一个新标签,并在任何额外的时间修改它。

from Tkinter import * 
from random import * 

global num 
num = 0 

def background(): 
    global num 
    num += 1 
    x = randrange(255) 
    y = randrange(255) 
    z = randrange(255) 
    rgb_color = [x,y,z] 
    mycolor = '#%02x%02x%02x' % (x, y, z) 
    app.config(bg=mycolor) 
    if num == 1: 
     global label1 
     label1 = Label(app, bg = mycolor, text=rgb_color) 
     label1.pack() 
    else: 
     global label1 
     label1.config(bg = mycolor, text = rgb_color) 

app = Tk() 
app.geometry("500x400+5+5") 
app.resizable(0,0) 
app.title("Color Code") 
button1 = Button(app, text="Change", command=background) 
button1.pack() 
app.mainloop() 

希望帮助:)这么多

+0

感谢,正是我需要的。另外,你知道我是否可以使按钮和标签的背景透明或匹配背景。白色看起来有点怪异。谢谢 – sirvar 2014-09-24 02:07:41

+0

@ user3150094是的,改变颜色的方式与你对应用的方式一样。请参阅编辑。 – W1ll1amvl 2014-09-24 04:27:53