【发布时间】:2023-03-18 11:46:01
【问题描述】:
我是 tkinter 编程新手,我非常坚持使用检查按钮。我一口气创建了多个复选按钮,每个复选按钮都有不同的文本和不同的网格位置。但是我不知道如何获取每个按钮的值或如何设置它。我希望能够获取每个按钮的状态/值,如果选中,则调用另一个函数。如何设置和调用每个按钮的值/状态?这可以在 for 循环中完成还是我必须单独创建它们?
def CheckIfValid(self, window):
Class = self.ClassChosen.get()
Unit = self.UnitChosen.get()
Topic = self.TopicChosen.get()
if Class == '' or Unit == '' or Topic == '':
tm.showinfo("Error", "Please fill in all boxes")
else:
QuestionData = OpenFile()
QuestionsList = []
for x in range (len(QuestionData)):
#if QuestionData[x][2] == Topic:
QuestionsList.append(QuestionData[x][0])
for y in range(len(QuestionsList)):
self.ButtonVal[y] = IntVar()
Checkbutton(window, text = QuestionsList[y], padx = 20, variable = self.ButtonVal[y]).grid(row = 12 + y, column = 2)
ConfirmSelection = Button(window, text = "Set Homework", command = lambda: SetHomeworkClass.ConfirmHomework(self)).grid()
print(variable.get()) #here I would like to be able to get the value of all checkbuttons but don't know how
【问题讨论】:
-
对于您提出的问题,这太多代码了。请提供minimal reproducible example。
-
最初我只包含了最少量的代码,但被要求包含整个类。我又减少了。
-
这两个都不是minimal reproducible example。
标签: python loops for-loop tkinter