Проблема Tkinter: проверка одного флажка проверяет их все - PullRequest
0 голосов
/ 19 апреля 2019

Я пишу небольшую программу, которая требует, чтобы пользователь определил некоторые логические значения. Я установил флажки, чтобы справиться с этой частью, но проблема в том, что каждый раз, когда я проверяю или снимаю галочку с одной, все остальные следуют за ней.

Я искал в Интернете, но единственное объяснение, которое я нашел ( python 2.7 с использованием флажка tkinter -all проверяется, когда кликается только один ), похоже, не применимо в моем случае.

import tkinter as tk

''' Init '''
variable1 = True
variable2 = True
variable3 = True

''' Set window '''
window = tk.Tk()
window.title('Title')
window.geometry('600x400')

''' Contents '''
check1 = tk.Checkbutton(window, text="Sometext_1", variable=variable1, onvalue=True, offvalue=False, height=2)
check2 = tk.Checkbutton(window, text="Sometext_2", variable=variable2, onvalue=True, offvalue=False, height=2)
check3 = tk.Checkbutton(window, text="Sometext_3", variable=variable3, onvalue=True, offvalue=False, height=2)

''' Show '''
check1.pack()
check2.pack()
check3.pack()


''' Window loop '''
window.mainloop()

Похоже, флажки должны быть проверены независимо, вместо этого все они отмечены и сняты как один. Любая идея будет оценена.

1 Ответ

1 голос
/ 19 апреля 2019

Значение атрибута variable должно быть экземплярами одной из специальных переменных tkinter StringVar, Intvar, DoubleVar или BooleanVar.

variable1 = tk.BooleanVar(value=True)
variable2 = tk.BooleanVar(value=True)
variable3 = tk.BooleanVar(value=True)

Примечание: вы можете создавать эти переменные только после создания корневого окна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...