我試圖創建3組不同長度的複選框列表,然後在tkinter GUI中的頁面上的三列中顯示它們。列表1將是一個基於整數的列表,其中2個是字符串。這些列表名稱的變量在GUI啓動之前在代碼中定義。 N_index = [1, 2, 3]
T_index = [T1, T2, T3]
P_index = [P1, P2, P3]
在tkinter中創建多個複選框
的列表的長度將每個代碼運行所以時間改變我已經使用這個:
N_leng = range(1, int(len(N_index)+1))
T_leng = range(1, int(len(T_index)+1))
P_leng = range(1, int(len(P_index)+1))
我已經部分使用的代碼來創建我的GUI是從這裏取的Switch between two frames in tkinter(謝謝)
我試圖將這些列表放入第一頁。我有3組複選框。當我運行它運行的代碼並且永遠不會結束。但是即使在調試模式下它也不會產生錯誤。有人能發現我的錯誤嗎?
def ckbox_params():
for i, j in zip(N_index, N_leng):
ivar = tk.IntVar()
N_selection1 = tk.Checkbutton(f, text="%d" % i, variable=ivar, onvalue=i, offvalue="")
N_selection1.grid(sticky="nw", pady=4)
for i, k in zip(T_index, T_leng):
svar = tk.StringVar()
T_selection1 = tk.Checkbutton(f, text="%s" % i, variable=svar, onvalue=i, offvalue="")
T_selection1.grid(sticky="nw", pady=4)
for i, l in zip(P_index, P_leng):
svar = tk.StringVar()
P_selection1 = tk.Checkbutton(f, text="%s" % i, variable=svar, onvalue=i, offvalue="")
P_selection1.grid(sticky="nw", pady=4)
ckbox_params()`
任何建議,想法或解決方案將有助於我做錯了什麼。
謝謝
你在哪裏創建根窗口? 'ckbox_params'如何知道'f'?如果您發佈[mcve],這將有所幫助。 –
你爲什麼要做int(len(...))'? 'len'返回一個int。 –
對不起PM 2Ring我不知道你需要多少信息。我對這一切都很陌生,這是我第一次嘗試OOP,所以我犯了錯誤。 – OParker