wxPython:刷新和更新组合框

Posted

技术标签:

【中文标题】wxPython:刷新和更新组合框【英文标题】:wxPython: refresh and update combobox 【发布时间】:2011-10-03 16:20:51 【问题描述】:

我有一个 wxPython 组合框,其中包含我的 .ini 文件的部分列表。 我在程序运行时添加了新部分。而且我还想在我的组合框中看到新条目。

如何刷新/更新它?

我的代码:

self.cbxCfgProfiles = wx.ComboBox(self, pos=(170, 120), size=(440, -1),   
                                  choices=getCfgProfileList(), style=wx.CB_DROPDOWN)

当我重新启动程序时,我会看到新条目。

我已经在我的方法中尝试了self.cbxCfgProfiles.Refresh()。这是行不通的。 :(

【问题讨论】:

您希望自动更新此列表吗?如果没有,您是否考虑过添加更新按钮并使用wx.ComboBox.Clear()wx.ComboBox.AppendItems 函数? 【参考方案1】:

如果您想要将组合框设置为新的字符串列表,SetItems() 方法可能是最简单的方法。它清除控件,然后添加所有新选择。

【讨论】:

【参考方案2】:

抱歉,到目前为止,我只使用 pyGtk,另一种方法是创建一个线程来验证您的 .ini 文件中是否有一个新部分,该部分不在字典上,并且已加载到您的相同值组合框和不在该字典上的项目,您可以插入它们。 我认为这会有所帮助:

wx.ComboBox.Insert()

【讨论】:

以上是关于wxPython:刷新和更新组合框的主要内容,如果未能解决你的问题,请参考以下文章

刷新表单以在 Visual Studio/C# 的组合框中更新和保存新条目

Windows 窗体中的刷新组合框

修改 ItemsSource ObservableCollection 后如何刷新组合框

刷新/重新查询组合框问题

子表单组合框行源更新 - 如何更新下拉列表

组合框选项的部分刷新