Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 复选框读数始终显示0_Python_Checkbox_Tkinter - Fatal编程技术网

Python 复选框读数始终显示0

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)

我无法使复选框在其标记并单击按钮时给出“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()

不能将普通变量与
变量
属性一起使用。它必须是一个特殊的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