2013-11-22 3 views
0

Я пробовал несколько examples from stackoverflow, но к сожалению не работал для меня.Tkinter получить выбранное значение CheckButton

Я просто хочу получить значение выбранного checkButton Tkinter, Python.

У меня есть список Checkbutton и его, как показано ниже

## csv file has rows like 
# 101, apple 
# 102, orange 
for row in csvReader: 
     checkButton = Checkbutton(top, text = row[1], variable = StringVar(), 
       onvalue = row[0], offvalue = "0", height=2, \ 
       width = 0, justify=Tkinter.LEFT) 
     checkButton.pack() 
     checkBoxList.append(checkButton) 

При нажатии на кнопку из формы, вот обратный вызов, который нужно захватить проверенное значение флажка.

def btnStartCallBack(): 
    for chkBox in checkBoxList: 
     print chkBox.variable().get() 
     # also tried below 
     # print chkBox.get() 
     # print chkBox.var() 
     # print chkBox.onvalue.get() 

возвращается:

AttributeError: Checkbutton instance has no attribute 'variable' 

Я просто хочу знать, можно ли или нет, чтобы получить значение Checkbutton, когда они выбраны. А также при каком атрибуте я должен искать это?

ответ

1

Я обычно делаю свои графические интерфейсы в классе, например http://zetcode.com/. Я буду делать что-то вроде

self.v = StringVar() 
self.cb1 = CheckButton(self, text=row[1], variable=self.v) 

, а затем позже ..

self.v.get() 

Я думаю, что вам, возможно, придется объявить variable по-разному в вашем коде. Bon chasse!

+0

Да, вы правы. его тоже похоже. Мне нужно объявить переменную по-разному. ** CheckVar1 = StringVar() ** и ** Checkvar1.get() ** возвращает значение. Easy ... Спасибо m8 ... –

+0

Нет проблем. Я помню, как в первый раз я узнал этот материал - я не знал, что должен использовать 'get()', и мне потребовалось несколько часов, чтобы понять это. – cjohnson318

Смежные вопросы