Как проверить, какой переключатель был выбран на python - PullRequest
0 голосов
/ 25 апреля 2020

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

def random_balancing():

    #global balancing list creates list to pull from
    global balancing_list
    balancing_list = ['unbalanced1', 'unbalanced2', 'balanced1', 'balanced2']

    #globalizes the random number from element_list
    global rando
    rando = randint(0, 3)

    #globalizes the elements list
    global balancing1_list
    balancing_list1 = balancing_list[rando]

    #create element models
    global balancing1image
    balancing1_image = ImageTk.PhotoImage(Image.open('C:/Users/Kisitu/Desktop/project/balancing/' + balancing_list1 + '.png'))
    show_balancing1.config(image=balancing1_image)


def balancing():
    intro.pack_forget()
    hide_all_frames()
    balancing_frame.pack(fill="both", expand=1)

    global show_balancing1
    show_balancing1 = Label(balancing_frame)
    show_balancing1.pack(pady=15)

    #button to randomize state image
    rando_button3 = Button(balancing_frame, text="I Dont Know", command=balancing)
    rando_button3.pack(pady=10)

    global radio
    balanced = Radiobutton(balancing_frame,text="balanced", font=("Helvetica", 18))
    balanced.pack(pady=15)

    unbalanced = Radiobutton(balancing_frame,text="unbalanced", font=("Helvetica", 18))
    unbalanced.pack(pady=17)

    #answer button
    answer_button3 = Button(balancing_frame, text="answer", command=balancing_answer)
    answer_button3.pack(pady=5)

    #response label
    global answer_label3
    answer_label3 = Label(balancing_frame, text="", font=("Helvetica",18), bg='#B3FDFF')
    answer_label3.pack(pady=15)
    random_balancing()


def balancing_answer():

Я не знаю, что мне следует добавить в balancing_answer, чтобы определить, какие кнопка нажата. Заранее спасибо за любую помощь.

1 Ответ

0 голосов
/ 25 апреля 2020

Помогает ли это?

def sel(): #Command called whenever state of radiobutton is modified
    print(var.get)

var = StringVar() #Stringvariable to be slaved to both buttons
R1 = Radiobutton(root, text="Option 1", variable=var, value="Button1 selected", command=sel) #variable, value to set variable when selected and callback all defined.
R2 = Radiobutton(root, text="Option 2", variable=var, value="Button1 selected", command=sel)

Строковая переменная инициируется и устанавливается для хранения значения флажка. Всякий раз, когда изменяется состояние кнопки, вызывается sel () и выводится значение.

Дайте мне знать, если что-то из этого не имеет смысла.

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