Как мне потребовать, чтобы пользователь нажимал ‹RETURN› при редактировании значения Trait перед отправкой уведомлений об изменении?

Я нахожусь в ожидании обновления графического интерфейса моего приложения Traits / UI с каждым обратным пробелом и / или вводом цифры в определенном поле. Как я могу заставить систему уведомлений Traits / UI ждать, пока я не нажму RETURN, прежде чем она отправит уведомления об изменениях?


person dbanas    schedule 09.04.2015    source источник
comment
См. stackoverflow.com/questions / 21885345 /   -  person Warren Weckesser    schedule 09.04.2015


Ответы (1)


Вы хотите использовать атрибуты auto_set и enter_set TextEditor. auto_set=False перестает обновлять свойство при каждом нажатии клавиши, а enter_set=True вызывает его обновление при Enter. Документы см. здесь.

Например: из traits.api импортировать HasTraits, Str из traitsui.api импортировать View, TextEditor, Group, Item

class Foo(HasTraits):
    my_str = Str()

    traits_view = View(
        Item('my_str',
            style='custom',
            editor=TextEditor(
                auto_set=False,
                enter_set=True,
                ),
        ),
        Item('my_str',
            style='readonly'
        ),
    )


if __name__ == '__main__':
    f = Foo()
    f.configure_traits()

введите здесь описание изображения

person Tim D    schedule 12.08.2015