Вывод текстового поля PySimpleGUI для информации после выбора переключателя

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

import PySimpleGUI as sg

# List for Radiobuttons
radio_choices = ["Method 1", "Method 2", "Method 3", "Method 4"]

layout = [[sg.Text("Choose Method")],
          *[[sg.Radio(text, 1), ] for text in radio_choices],
          [sg.Button("Start"), sg.Button("Stop"), sg.Button("Exit")]


          ]

window = sg.Window("Choose Method", layout, size=(350, 350))

while True:
    event, values = window.Read()

    
    if event == "Exit" or event == sg.WIN_CLOSED:
        break

    if event == radio_choices[0]:
        sg.Text("Method 1 description")
window.close()


person Hai    schedule 11.08.2020    source источник


Ответы (1)


Попробуй это :

import PySimpleGUI as sg

# List for Radiobuttons
radio_choices = ["Method 1", "Method 2", "Method 3", "Method 4"]

layout = [[sg.Text("Choose Method")],
          *[[sg.Radio(text, 1),sg.Text('this is ' + text ,key=text, visible=False) ] for text in radio_choices],
          [sg.Button("Start"), sg.Button("Stop"), sg.Button("Exit")]


          ]

window = sg.Window("Choose Method", layout, size=(350, 350))

while True:
    event, values = window.Read()

    print(event, values)
    if event == "Exit" or event == sg.WIN_CLOSED:
        break

    if event == 'Start':
        for k,value in values.items():
            if value == True:
                window[radio_choices[k]].update(visible=True)
            else : 
                window[radio_choices[k]].update(visible=False)
window.close()
person Bhargav Desai    schedule 11.08.2020
comment
Спасибо, но это не совсем то, что я имел в виду. Мысль также состояла в том, чтобы добавить описание того, что делает метод. в макете я добавил еще одну кнопку с именем sg.Button(Information) для вывода текста. Как вы думаете, можно ли поместить выводимый текст в определенную область, а не рядом с переключателем? - person Hai; 11.08.2020