Динамическое скрытие элементов графического интерфейса с помощью переключателя в PySimpleGUIQt

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

import PySimpleGUIQt as sg

layout = [          
         [sg.Checkbox('Module Selection', default = False, change_submits= True, key = '_checkbox1_', size=(15,1)),
         sg.Text('Module(.xlsx)', size = (15,0.5), auto_size_text = True, justification = 'right', key = '_moduletext_')]
         ]


window = sg.Window('A2L', layout, icon = u"icon\\index.ico", auto_size_buttons = False).Finalize()  
window.Element('_moduletext_').Update(visible = False) #makes the element invisible
values_dict={}


while True:  # Event Loop            
    button, values_dict = window.Read()

    if values_dict['_checkbox1_']:
        window.Element('_moduletext_').Update(visible = True)

Проблема здесь в том, что если я заменю флажок переключателем, то тот же код не скрывает элемент графического интерфейса динамически. Ниже приведен код с переключателем:

import PySimpleGUIQt as sg

layout = [          
             [sg.Radio('Module Selection','RADIO' default = False, enable_events = True, key = '_radio1_', size=(15,1)),
             sg.Text('Module(.xlsx)', size = (15,0.5), auto_size_text = True, justification = 'right', key = '_moduletext_')]
             ]


window = sg.Window('A2L', layout, icon = u"icon\\index.ico", auto_size_buttons = False).Finalize()  
window.Element('_moduletext_').Update(visible = False) #makes the element invisible
values_dict={}


while True:  # Event Loop            
        button, values_dict = window.Read()

        if values_dict['_radio1_']:
            window.Element('_moduletext_').Update(visible = True)

Как скрыть элемент с помощью радиокнопки в pysimpleGUIqt?


person Anudocs    schedule 12.07.2019    source источник
comment
Радио-кнопок обычно больше 1. Не уверен в поведении одного Радио. Один флажок - это нормально, но не переключатель.   -  person Mike from PSG    schedule 12.07.2019
comment
Я думаю, вы столкнулись с ошибкой или не реализованы радиокнопки enable_events. Я думал, что это так, но, возможно, не на Qt. Я сделаю это приоритетом и посмотрю на код.   -  person Mike from PSG    schedule 12.07.2019
comment
@MikeyB Я только что процитировал вас в Есть ли способ для радио-кнопок PySimpleGUI генерировать события при изменении?   -  person uhoh    schedule 25.03.2020
comment
Отлично .... об этом нужно спросить на GitHub.   -  person Mike from PSG    schedule 25.03.2020
comment
На этой странице буквально есть ответ на другой пост, который вы разместили и на который указали здесь. Сообщения не доходят.   -  person Mike from PSG    schedule 25.03.2020


Ответы (1)


Включение событий для радиокнопок еще не реализовано в PySimpleGUIQt. Просто закончил код для него и попробовал свой код против него.

Вам необходимо загрузить PySimpleGUIQt.py файл a href = "http://www.PySimpleGUI.com" rel = "nofollow noreferrer"> сайт GitHub проекта и поместите его в папку своего приложения.

person Mike from PSG    schedule 12.07.2019
comment
Спасибо за обновление кода. Я получил ошибку при использовании вашего кода, который я объяснил здесь: stackoverflow.com/questions/57034955/ - person Anudocs; 15.07.2019
comment
Я не рекомендую размещать здесь подобные проблемы. Разместите их на сайте проекта GitHub. Вы получите более быструю поддержку и сможете легко публиковать свой код и изображения. - person Mike from PSG; 16.07.2019