0
라디오 버튼을 선택할 때 두 옵션이 동일한 요소/값을 갖고 있으면 둘 다 선택됩니다. for 루프 tkinter에서 값에서 하나 이상의 옵션을 선택하는 라디오 버튼
from tkinter import*
class CourseInfo:
def __init__(self, subject):
self.subjectName = subject
self.selectedselected = "0" #default setting
class SubjectGUI:
def __init__(self, parent):
#setting up list for subject objects
self.subjectInfo = [CourseInfo("English"), CourseInfo("English"), CourseInfo("Math"), CourseInfo("Math")]
#set up for subject radio buttons
self.subjectChoice = StringVar() #instance for StringVar created
self.subjectChoice.set("*") #sets the initial selection
self.rb_info = []
for subject in self.subjectInfo: #for loop outputs show info
self.show_rb = Radiobutton(parent, variable = self.subjectChoice, value = subject.subjectName, text = subject.subjectName, command = self.select_subject)
self.rb_info.append(self.subjectChoice)
self.show_rb.pack()
self.selection_label = Label(text = "You have selected: ")
self.selection_label.pack()
def select_subject(self):
for i in range(len(self.subjectInfo)):
subject = self.rb_info[i].get()
self.subjectInfo[i].selectedselected = subject
self.selection_label.configure(text = "You have selected: " + subject)
# main routine
if __name__ == "__main__":
root = Tk()
subjectChoice = SubjectGUI(root)
root.mainloop()
나는 그것이 내가 내 목록에 추가 그래서 요소가 달랐다했다 (예를 들어 CourseInfo ("English1"), CourseInfo ("English2") ...) 내 프로그램은 내가 그것을 원한 방법했다. 요소가 동일하지 않아 작동하지 않는 경우입니다. 위의 그림과 같이 목록에 추가하려고했으나 오류가 해결되지 않았습니다.
요소/값이 같더라도 단 하나의 라디오 버튼 만 선택되도록하려면 어떻게해야합니까?