#tkinter
Вопрос:
Я
var1 = BooleanVar()
var2 = BooleanVar()
etc
Checkbutton(master, variable=var1).grid(row=1, column=1)
Checkbutton(master, variable=var2).grid(row=2, column=1)
etc
и каков наилучший способ их прочитать?
Комментарии:
1. Вы ищете:
var1.get()
2. да, но можете ли вы сделать переменную переменной? как и varx,get()
3. Непонятно, зачем вам нужна наша помощь. Способ их установки задокументирован. Вы не проводили никаких исследований, прежде чем спросить?
4. я пробовал это сам в течение нескольких часов, дело в том, что там 100 флажков. поэтому я ищу способ назначить их с помощью цикла for. Я попытался использовать массивы и списки, а также команду .format. Но, похоже, ничего не вышло.
Ответ №1:
Попробуйте это:
import tkinter as tk
def print_all():
result = [var.get() for var in vars]
print(result)
root = tk.Tk()
print_all_button = tk.Button(root, text="Click me", command=print_all)
print_all_button.pack()
vars = []
for i in range(5):
var = tk.BooleanVar(root)
button = tk.Checkbutton(root, variable=var)
button.pack()
vars.append(var)
root.mainloop()
Он создает 5 кнопок проверки в цикле for и сохраняет все BooleanVar
s в списке, который называется vars
. Позже в функции я могу вызвать var.get()
для каждой переменной.
Комментарии:
1. Спасибо! это именно то, что мне было нужно. .добавление и корень являются новыми для меня. Но я смогу в этом разобраться. Большое спасибо
2. @GijsVanleeuwen
.append
-это метод, который вы можете вызывать в списках, чтобы что-то добавить в них.root
это то, что я называл своим окном. Рад, что помог