如何确定我是否已按下复选按钮?

时间:2019-04-17 11:21:12

标签: python-3.x tkinter

from Tkinter import *
window = Tk()
window.config(background="green")
window.bind("<Escape>", quit)
cbttn = Checkbutton(text="Caps?").grid(row=3, column=0)

if cbttn = True是否为此工作?还是我必须移动.grid()函数并将其移至下一行代码。

1 个答案:

答案 0 :(得分:1)

诸如:

cbttn = Checkbutton(text="Caps?").grid(row=3, column=0)

无类型的对象的形式 cbttn 产生。

要么删除对cbttn的分配(如果您不想在脚本中进一步引用它)

Checkbutton(text="Caps?").grid(row=3, column=0)

或将网格移动到新行,如下:

cbttn = Checkbutton(text="Caps?")
cbttn.grid(row=3, column=0)

要查看是否按下了Checkbutton,请使用可用的 command 选项。检查示例here。以这个例子为例:

from tkinter import *

def display():
    print(CheckVar1.get())

top = Tk()
CheckVar1 = IntVar()
CheckVar2 = IntVar()
C1 = Checkbutton(top, text = "Music", variable = CheckVar1, \
                 onvalue = 1, offvalue = 0, height=5, \
                 width = 20, command = display)
C2 = Checkbutton(top, text = "Video", variable = CheckVar2, \
                 onvalue = 1, offvalue = 0, height=5, \
                 width = 20)
C1.pack()
C2.pack()
top.mainloop()

输出应在 0 1

之间保持切换