2017-03-22 114 views
3

我試圖在用戶單擊檢查按鈕時更改Tkinter標籤的顏色。我無法正確編寫函數並將其連接到命令參數。如何以編程方式更改Tkinter標籤的顏色?

這裏是我的代碼:

import Tkinter as tk 

root = tk.Tk() 
app = tk.Frame(root) 
app.pack() 

label = tk.Label(app, bg="white", pady=5, font=(None, 1), height=20, width=720) 
checkbox = tk.Checkbutton(app, bg="white", command=DarkenLabel) 
label.grid(row=0, column=0, sticky="ew") 
checkbox.grid(row=0, column=0, sticky="w") 

def DarkenLabel(): 
    label.config(bg="gray") 

root.mainloop() 

謝謝

+0

它工作正常,你只需要在你使用它作爲命令變量的位置之前移動'DarkenLabel'函數。你看到它運行失敗或者在運行腳本時遇到異常? –

+0

真的那麼簡單! –

回答

5

在你的代碼,command=DarkenLabel無法找到參照功能DarkenLabel。因此,您需要定義該行上面的功能,以便您可以使用以下代碼:

import Tkinter as tk 


def DarkenLabel(): 
    label.config(bg="gray") 

root = tk.Tk() 
app = tk.Frame(root) 
app.pack() 

label = tk.Label(app, bg="white", pady=5, font=(None, 1), height=20, width=720) 
checkbox = tk.Checkbutton(app, bg="white", command=DarkenLabel) 
label.grid(row=0, column=0, sticky="ew") 
checkbox.grid(row=0, column=0, sticky="w") 
root.mainloop() 

希望它有幫助!

+0

那麼,我尋求這樣一個很酷和簡單的解決方案,並編寫了許多不同的想法,包括ttk等等,我在那裏編輯了一個標籤,'救濟'不再有效......但是,你的提示使我的晚上。 Thx +1 – Semo

相關問題