Python 复选框读数始终显示0
我无法使复选框在其标记并单击按钮时给出“1”值。我不知道问题是否出在checkbutton代码中,或者我在函数之间传输数据时出错Python 复选框读数始终显示0,python,checkbox,tkinter,Python,Checkbox,Tkinter,我无法使复选框在其标记并单击按钮时给出“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)
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()
不能将普通变量与
变量
属性一起使用。它必须是一个特殊的tkinter变量StringVar
,IntVar
,DoubleVar
或BooleanVar
您可能只需要更改以下内容:
tk.Checkbutton(..., variable=var_koszula1).grid()
为此:
tk.Checkbutton(..., variable=self.var_koszula1).grid()
我假设我是用self.var\u koszula1=tk.IntVar(self)@TRV来做这件事的:您正在创建变量,但您使用的是
var\u koszula1
,而不是self.var\u koszula1
。