当标记了按钮并单击按钮时,我无法使复选框给出“1”值。我不知道问题是否在checkbutton代码中,或者我在函数之间传输数据错误
import tkinter as tk
from tkinter import ttk as ttk
var_koszula1=2
class Aplikacja(tk.Frame):
def __init__(self, *args, **kwargs):
tk.Frame.__init__(self, *args, **kwargs)
self.grid()
self.var_koszula1=tk.IntVar(self)
tk.Checkbutton(self, text='MARK', variable=var_koszula1).grid()
print(self.var_koszula1.get())
tk.Button(self, height=1, width=15, text=("Click"), command= self.create_window_edit).grid()
def create_window_edit(self):
t = tk.Toplevel(self)
tk.Label(t, text=("Done")).grid()
print(self.var_koszula1.get())
root= tk.Tk()
root.title("Szaffa")
app= Aplikacja(root)
root.mainloop()
答案 0 :(得分:1)
您不能使用具有variable
属性的普通变量。它必须是特殊tkinter变量之一StringVar
,IntVar
,DoubleVar
或BooleanVar
。
你可能只需要改变这个:
tk.Checkbutton(..., variable=var_koszula1).grid()
对此:
tk.Checkbutton(..., variable=self.var_koszula1).grid()