我目前正在学习tkinter包中小部件的使用。并且不确定开启/关闭值如何在checkbutton小部件中起作用。
我的书面代码如下:
from tkinter import *
from tkinter import ttk
root = Tk()
root.title("Checkbutton")
mainframe = ttk.Frame(root, padding="3 3 12 12")
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)
measureSystem = StringVar()
cmd1 = lambda *args: print(str(measureSystem) + ' selected')
check = ttk.Checkbutton(mainframe, text='Use Metric',
command=cmd1, variable=measureSystem,
onvalue='metric', offvalue='imperial')
但是当我检查并取消选中复选按钮时,无论检查按钮处于何种状态,返回的内容如下:
PY_VAR1 selected
我了解 onvalue 和 offvalue 应该存储在 measureSystem 变量中,具体取决于检查按钮的状态。
为什么不是这种情况?
答案 0 :(得分:2)
尝试更改:
str(measureSystem)
为:
str(measureSystem.get())
StringVar
使用.set()
和.get()
来访问该值。