Я пытаюсь научиться использовать черты для создания простых пользовательских интерфейсов для моих сценариев Python. Я хочу сделать программу со списком, в который пользователь может добавлять слова с помощью одной кнопки или полностью очищать список с помощью другой.
До сих пор я использовал черты:
myList = List(Str)
myList = ['Item1','Item2'] #Initial items in list
Чтобы отобразить этот список в пользовательском интерфейсе свойств, я использовал ListStrEditor из пакета пользовательского интерфейса свойств:
Item('myList', show_label = False, label = 'Data Files', editor = ListStrEditor(auto_add = False)
Я закодировал 2 кнопки: 1) одну для ДОБАВЛЕНИЯ элемента в список (myList.append('item3')
) 2) кнопку ОЧИСТИТЬ, чтобы очистить список (myList = []
). Базовый пользовательский интерфейс хорош, кнопки работают, и моя переменная списка изменяется, как и ожидалось.
Однако проблема в том, что мой список в графическом интерфейсе не обновляется. Однако, если я нажму на нее, отобразятся новые значения. Кроме того, я хочу потенциально добавить к нему много элементов и задаться вопросом, есть ли способ добавить полосу прокрутки сбоку?
Я просмотрел руководство по использованию ListStrEditor, хотя я немного увяз в терминологии. По-видимому, функция refresh()
существует, но я не знаю, как применить ее к ListStrEditor. Кроме того, я не уверен, нужно ли мне использовать вещи, называемые «адаптерами» или «обработчиками».
Любые советы или указатели в правильном направлении будут высоко оценены!