0
我想在循環中生成獨立的Checkbuttons,但是他們有相同名稱的Checkbutton一起工作。我不知道哪裏是我的錯......Tkinter,試圖在循環中生成檢查按鈕
#!/usr/bin/env python
#-*-coding:utf-8-*-
import os
from Tkinter import *
import ttk
def checkBoxText(st):
if st == 0:
st="Disabled"
if st == 1:
st="Enabled"
return st
root = Tk()
winSt={1:1,2:1,3:0,4:0}
cbTexts={}
cbVariables={}
cb={}
cb_x={ "1":"0.0", "2":"0.0", "3":"0.6", "4":"0.6" }
cb_y={"1": "0.1", "2": "0.8", "3": "0.1", "4": "0.8"}
for i in sorted(winSt.keys()):
cbTexts[i] = StringVar()
cbTexts[i].set(checkBoxText(winSt[i]))
cbVariables[i] = IntVar()
cbVariables[i].set(winSt[i])
cb[i] = Checkbutton(root, text=cbTexts[i].get(), variable=cbVariables[i].get())
cb[i].place(relx=cb_x[str(i)], rely=cb_y[str(i)], relheight=0.1,relwidth=0.4)
mainloop()
我不知道你的錯誤在哪裏。如果你解釋了你的預期輸出與你的實際輸出以及你可能得到的任何錯誤,這將有所幫助。 –
對不起,我糾正標題和問題,因爲我寫了組合框,而不是檢查按鈕。 所以我叮叮噹我看到錯誤,當我在循環中創建checkbuttons並設置「變量」配置和誰有相同的變量值,他們的工作就像一個checkbutton。 也許我必須檢查循環後的checkbutton,但如何? cb [「1」] .configure(variable = 1)this is not working。 – empax
將'variable = cbVariables [i] .get()'改爲'variable = cbVariables [i]'。 –