У меня есть класс с элементом self.checkbutton (использующий TkInter CheckButton), созданный в функции init с помощью:
self.checkbutton = Checkbutton(self.frame, variable=self.value, command=self.get_entry_and_execute, onvalue="1", offvalue="0")
Теперь вместо того, чтобы нажимать на кнопку-флажок в моем кадре, я хочуустановить это в моем коде.Итак, откуда-то в моем коде я вызываю setvalue ("1"), вызывая эту функцию:
def setvalue(self, value):
if (value == "1"):
print "SELECTING CHECKBUTTON"
self.checkbutton.select()
# self.checkbutton.set(value=1)
Теперь, когда я делаю это, на самом деле, я вижу, что связанная функция "self.get_entry_and_execute"называется, и это даже меняет цвет фона.Но кнопка проверки остается непроверенной (т. Е. Пустое поле без символа «V»).Как ни странно, когда я добавляю команду
self.checkbutton.set(value=1)
, код жалуется: AttributeError: Экземпляр Checkbutton не имеет атрибута 'set' , но теперь контрольная кнопка не проверяется !
Я предполагаю, что из-за этой ошибки python переводит контрольную кнопку в правильное состояние (= 1), даже если функция "set" не существует.Мой вопрос: как я могу правильно сделать, чтобы python поместил "V" внутри флажка?(Т.е. что-то вроде функции "перерисовать").