复选框读数始终显示0

时间:2017-01-06 14:30:00

标签: 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)
    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()

1 个答案:

答案 0 :(得分:1)

您不能使用具有variable属性的普通变量。它必须是特殊tkinter变量之一StringVarIntVarDoubleVarBooleanVar

你可能只需要改变这个:

tk.Checkbutton(..., variable=var_koszula1).grid()

对此:

tk.Checkbutton(..., variable=self.var_koszula1).grid()