wxPython:刷新和更新下拉框

3 投票
2 回答
3382 浏览
提问于 2025-04-16 21:20

我有一个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() 方法可能是最简单的办法。这个方法会先清空下拉框里的内容,然后把所有新的选项添加进去。

撰写回答