我遇到了一个问题,我无法检查tkinter中的checkbutton是否被选中(我总是得到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()
问题是在出现时带有字母“A”的窗口(点击按钮后),每次检查/取消选中“A”时,它都会打印False(从不打印True)。
谁能告诉我这是什么问题?
由于