Win7,Python 2.7,Tkinter
我一次在屏幕上有几个列表框,我正在设置一种让用户更改颜色(背景,文字颜色,边框宽度,边框颜色等等)的方法。还有更多只是列表框,有标签框,进度条,窗框,仅举几例。
列表框(和其他小部件)标签在全局文件中声明,thuis:
globs.lb1 = tk.Listbox(root, ...
我可以轻松更改属性,但更新所有小部件的最佳方法是什么?
目前,在我的Settings.py文件中,我手动设置每个列表框(和其他小部件)但是,当然,如果我稍后添加一个小部件,我必须记得更改Settings.py文件。
我想使用ttk,我认为ttk允许我更改样式,然后ttk会记住哪些小部件使用该样式,但ttk中没有Listbox。
如果有事件或某种性质,我可以为每个列表框设置...
谢谢,Mark。
答案 0 :(得分:2)
选项1:定义Listbox的子类,注册您创建的每个列表框,以便在用户更改设置时,您可以遍历列表框的集/列表。
选项2:使用ttk.Combobox或ttk.Treeview(仅包含顶级项目而不是子项目的扩展)。我认为可以将树视图视为一个增压列表框,具有多列和可能的层次关系。