Ошибка с Adw.PreferencesDialog при закрытии диалогового окнаPython

Программы на Python
Anonymous
Ошибка с Adw.PreferencesDialog при закрытии диалогового окна

Сообщение Anonymous »

Я получаю эту ошибку, когда закрываю Adw.PreferencesDialog:

Код: Выделить всё

(multiplicar:2): Gtk-CRITICAL **: 13:17:43.002: Widget of type “Preferencias” already has an accessible role of type “GTK_ACCESSIBLE_ROLE_GENERIC”
Если я попытаюсь открыть его еще раз, произойдет сбой приложения.
Я открываю диалог по этому коду:

Код: Выделить всё

    def on_preferences_action(self, _action, _param):
print(self.preferencias)
if self.preferencias is None:
self.preferencias = Preferencias() # Adw.PreferencesDialog
self.preferencias.present()
При первом запуске действия диалоговое окно открывается правильно, и print(self.preferencias) печатает None, как и предполагалось.
Если я закрою de диалоговое окно, я получаю сообщение об ошибке:

Код: Выделить всё

(multiplicar:2): Gtk-CRITICAL **: 13:17:43.002: Widget of type “Preferencias” already has an accessible role of type “GTK_ACCESSIBLE_ROLE_GENERIC”
Если я попытаюсь открыть его снова, приложение выйдет из строя и print(self.preferencias) распечатает объект
поэтому я предполагаю, что проблема в том, что диалог не уничтожается при закрытии.
Я пробовал self.preferencias.present(self.win) быть self.win мое основное окно Adw.ApplicationWindow но происходит то же самое.
Я пробовал self.preferencias.get_parent().set_hide_on_close(True). Таким образом, ошибка сохраняется, и это работает, но я считаю, что это не лучший вариант.
Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/790 ... alog-close

Вернуться в «Python»