Как мне сбросить приложение Python TraitsUI? - PullRequest
0 голосов
/ 01 ноября 2018

Я работаю над программой на Python, которая выполняет различные вычисления. Есть много разных параметров, которые необходимо ввести, и может быть запутанно вспомнить, какие изменения вы внесли в различные входные данные. Я хочу иметь кнопку, которая сбрасывает все до значений по умолчанию, так что, в основном, как перезапуск, но без фактического закрытия / необходимости запуска снова. Я использовал TraitsUI для разработки GUI. Как я могу это реализовать? Я видел в руководстве пользователя TraitsUI, что есть команда сброса:

    reset(destroy=True)
    "Resets the contents of a user interface"

, но я не знаю, как и где это использовать.

Вот краткий обзор того, как мой код отформатирован от начала до конца.

    import os
    os.environ['ETS_TOOLKIT'] = 'qt4'
    os.environ['QT_API'] = 'pyqt'
    from traits.api import HasTraits, Range, ...
    ...
    class class1(HasTraits)
    ...
    class class10(HasTraits)
    mrm = class10()
    mrm.configure_traits(kind='livemodal')

Я смотрел на это и это , но они либо не работали, либо я просто не знаю, как правильно реализовать их в макете моей программы. Ждем любых советов / помощи.

1 Ответ

0 голосов
/ 16 ноября 2018

Я только что прочитал это, но заглянул в reset_traits()

Попробуйте добавить кнопку "обновить" в графический интерфейс, где

def _refresh_fired(self):
    self.reset_traits()

Это сбросит все черты в вашем классе. Если вы хотите сбросить некоторые черты, передайте список строк вместе с ним.

self.reset_traits(['trait1', 'trait2'])
...