Есть ли конкретная причина, по которой вы используете tk.IntVar()
для контрольной кнопки, когда вы не используете параметры «onvalue»/«offvalue» при создании Checkbutton?
Если вы просто хотите видеть true
/false
значения для ваших штатов, используйте tk.BooleanVar()
.
Обратите внимание, что значения по умолчанию для кнопок True
/False
.
Если вы используете tk.IntVar()
, вы ничего не увидите, если не указали onvalue
/offvalue
.
См. Рабочий код прилагается.
import Tkinter as tk
root = tk.Tk()
checked = tk.BooleanVar()
i_checked = tk.IntVar()
s_checked = tk.StringVar()
s_checked.set("off")
def cb_checked(event=None):
global checked
print("Test Checkbutton Value: {}".format(checked.get()))
def cb_i_checked(event=None):
global i_checked
print("Integer Checkbutton Value: {}".format(i_checked.get()))
def cb_s_checked(event=None):
global s_checked
print("String Checkbutton Value: {}".format(s_checked.get()))
chkbtn_test = tk.Checkbutton(root, text="Test", variable=checked, command=cb_checked)
chkbtn_test.grid(row=0)
chkbtn_int = tk.Checkbutton(root, text="Integer", variable=i_checked, onvalue=2, offvalue=-2, command=cb_i_checked)
chkbtn_int.grid(row=1)
chkbtn_string = tk.Checkbutton(root, text="String", variable=s_checked, onvalue="on", offvalue="off", command=cb_s_checked)
chkbtn_string.grid(row=2)
root.mainloop()
Выход добавлен за пределы.
Вы назвали главного окна MainLoop() перед выполнением печати ('Значение:', self.inttype.get())? – Pedru
Да, я назвал на самом деле я применил тот же метод в своем предыдущем коде, нет проблем, но на этот раз он ничего не показывает – Sahadev
Не могли бы вы опубликовать полный рабочий пример (возможно, разделенный на основные части) вашего кода? – Pedru