wxPython:刷新和更新下拉框
我有一个wxPython的下拉框,里面列出了我.ini文件中的各个部分。我的程序在运行时会添加新的部分,我也想在下拉框中看到这些新的条目。
我该怎么更新它呢?
我的代码是:
self.cbxCfgProfiles = wx.ComboBox(self, pos=(170, 120), size=(440, -1),
choices=getCfgProfileList(), style=wx.CB_DROPDOWN)
当我重启程序时,我能看到新的条目。
我已经在我的方法中尝试过 self.cbxCfgProfiles.Refresh()
,但是没有效果。 :(
2 个回答
0
抱歉,我到现在为止只用过pyGtk。给你一个替代方案,你可以创建一个线程,去检查你的.ini文件里是否有新的部分,这些部分在一个字典里没有相同的值已经加载到你的下拉框中。那些不在字典里的项目你可以把它们插入进去。我觉得这样做会有帮助:
wx.ComboBox.Insert()
3
如果你有一个新的字符串列表,想要把下拉框(combobox)设置成这个列表,使用 SetItems()
方法可能是最简单的办法。这个方法会先清空下拉框里的内容,然后把所有新的选项添加进去。