2014-09-23 230 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