Я знаю, что это покажется глупым вопросом, но я прочитал все похожие / похожие вопросы, которые мог найти, и я почти уверен, что у меня возникла другая проблема. В конце этого вопроса приведен список похожих проблем, которых я избежал.
Я пытаюсь использовать кнопку Tkinter Checkbutton. Я использовал пример кода из документации ( здесь ) почти дословно.
from tkinter import Tk, Checkbutton, IntVar
class MyGUI:
def __init__(self, window):
self.var = IntVar()
self.c = Checkbutton(window,
text="Enable Tab",
variable=self.var,
command=self.cb)
self.c.pack()
def cb(self):
print("self.var is", self.var.get())
root = Tk()
gui = MyGUI(root)
root.mainloop()
root.destroy()
Единственное, что я изменил, - это убрал аргумент event
из метода cb
, потому что, насколько я мог судить, он ни для чего не использовался, а кнопка проверки не пропускает никаких event
до cb
.
Моя проблема в том, что переменная, хранящая значение кнопки-флажка, всегда читает 0
, даже если кнопка-флажок проверена:
Я не знаю, что я делаю неправильно. Я знаю, что избежал следующих ловушек:
Кроме того, когда я запускаю код из вопроса с аналогичной проблемой , я получаю такое же поведение - флажок всегда возвращает False / 0 - даже если этот вопрос помечен как решенный.
Я использую Anaconda python со следующими версиями:
Python 3.5.4 |Anaconda custom (64-bit)| (default, Nov 8 2017, 14:34:30)
[MSC v.1900 64 bit (AMD64)]
IPython 6.2.1 -- An enhanced Interactive Python.