Внешний вид кнопки Python не обновляется после установки 1 - PullRequest
0 голосов
/ 17 мая 2018

У меня есть класс с элементом 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" внутри флажка?(Т.е. что-то вроде функции "перерисовать").

1 Ответ

0 голосов
/ 17 мая 2018

Согласно вашему коду, self.value является экземпляром класса переменных , поэтому все, что вам нужно сделать, это заменить self.checkbutton.set(value=1) на self.value.set(value=1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...