我正在尝试学习如何使用 Traits 为我的 Python 脚本构建简单的 UI。我想用一个列表制作一个程序,用户可以用一个按钮添加单词,或者用另一个按钮完全清除列表。
到目前为止,我已经使用了特征:
myList = List(Str)
myList = ['Item1','Item2'] #Initial items in list
为了在特性 UI 中显示这个列表,我使用了特性 UI 包中的 ListStrEditor:
Item('myList', show_label = False, label = 'Data Files', editor = ListStrEditor(auto_add = False)
我编写了 2 个按钮:1) 一个用于将项目添加到列表 ( myList.append('item3')
) 2) 一个清除按钮以清空列表 ( myList = []
)。基本的用户界面很好,按钮工作正常,我的列表变量按预期更改。
但是,问题是,我在 GUI 中的列表没有更新。但是,如果我单击它,则会显示新值。另外,我想潜在地向其中添加许多项目,并想知道是否有办法在侧面添加滚动条?
我查阅了 ListStrEditor 手册和用法,尽管我对术语有些困惑。显然refresh()
存在一个函数,但我不确定如何将它应用于 ListStrEditor。另外,我不确定是否需要使用称为“适配器”或“处理程序”的东西。
任何正确方向的提示或指示将不胜感激!