У меня проблема с тем, что я не могу проверить, проверена ли кнопка в tkinter или нет (я всегда получаю False).Я уверен, что что-то упустил, но я так долго пытался, и я не знаю, что я делаю неправильно.Ниже приводится минимальный код, который я мог бы написать, который показывает проблему:
Есть два файла:
Основной файл (который вы запускаете) называется "main_GUI.py", и вот код:
from tkinter import *
import sub_GUI
root = Tk()
button1 = Button(root, bg='white', text="Click me", font=("Helvetica",12),
height=3, width=25, command=sub_GUI.create_new_window)
button1.grid(column=1, row=1)
root.mainloop()
Второй файл называется «sub_GUI.py» и вот код:
from tkinter import *
var1 = None
sub_root = None
def create_widgets():
global sub_root
global var1
var1 = BooleanVar()
Checkbutton(sub_root,
text="A",
variable=var1,
command=do_something
).grid(row=2, column=0, sticky=W)
def do_something():
global var1
is_current_joint_checked = var1.get()
if is_current_joint_checked:
print('True')
else:
print('False')
def create_new_window():
global sub_root
sub_root = Tk()
sub_root.title("Movie Chooser")
create_widgets()
Проблема в том, что в окне, которое появляется с буквой «А» (послеВы нажали кнопку), каждый раз, когда я отмечаю / снимаю флажок «А», он печатает «Ложь» (никогда не печатает «Истина»).
Может кто-нибудь сказать мне, в чем проблема?
Спасибо