无法知道是否选中了复选框

时间:2018-05-22 01:02:25

标签: python checkbox tkinter

我遇到了一个问题,我无法检查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)。

谁能告诉我这是什么问题?

由于

0 个答案:

没有答案