Я пытаюсь создать автономные Checkbuttons в цикле, но с тем же именем Checkbutton работает вместе. Я не знаю, где моя ошибка ...Tkinter, пытающийся генерировать Checkbutton в цикле
#!/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()
Я не знаю, где ваша ошибка. Это поможет, если вы объясните свой ожидаемый результат по сравнению с фактическим результатом и любыми ошибками, которые вы можете получить. –
Извините, я исправлю название и вопрос, потому что я написал поле со списком вместо кнопки проверки. Так что я понимаю, что вижу ошибку, когда создаю контрольные кнопки в цикле и задаю конфигурацию «переменная», и у кого есть такое же значение переменной, что они работают как одна контрольная кнопка. Возможно, мне нужно проверить контрольные кнопки после цикла, но как? cb ["1"]. Configure (variable = 1) это не работает. – empax
Изменить 'variable = cbVariables [i] .get()' to 'variable = cbVariables [i]'. –