Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Tkinter Checkbutton не меняет мою переменную

Автор вопроса: InfridОтветов: 1

Я пытаюсь использовать Checkbutton с функцией, my_var никогда не меняется, но всегда вызывает мою функцию.

вот код:

my_var = False
def controllo_carta():
    global my_var
    print str(my_var)

[...]

c = tk.Checkbutton(toolbar, text="press me",onvalue=True,offvalue=False,variable=my_var,command=controllo_carta)
c.select()
c.pack(side=tk.LEFT,padx=2,pady=2)

print 'my var:' + str(my_var)

[...]

где моя ошибка?

Благодарность!

pythontkinter

Ответы

Ответ 1 · рейтинг 9 · Victor

Чтобы заставить ваш код работать, я бы использовал BooleanVar() и связанный с ним метод get() для получения его значения (http://effbot.org/tkinterbook/variable.htm)

Например: (из: http://effbot.org/tkinterbook/checkbutton.htm)

from Tkinter import *

master = Tk()

var = BooleanVar()

def cb():
    print "variable is {0}".format(var.get())

c = Checkbutton(master, text="Press me", variable=var, command=cb)
c.pack()

mainloop()

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы