出错问题描述:使用wxpython设计界面时,通过comboBox的SetValue()方法设置运行界面时comboBox控件文本框中显示的初始值。通过comboBox的GetValue()方式打印发现comboBox初始值是设置成功了的,但就是界面comboBox的文本框中不显示该值。
解决思路来源:https://bbs.youkuaiyun.com/topics/380222966
主要灵感来自下面的一条评论:
具体解决方法:comboBox控件是结合文本框和列表框特性的一个组合控件,单纯的文本框肯定是可以通过SetValue方式显示值的,但comboBox控件还具备列表选取选项的功能,所以解决办法是:先通过SetItems()方法设置comboBox控件的列表选项,再通过选取列表的第一个选项用于显示在界面comboBox控件的文本框中。这样做就可以解决comboBox控件不显示值问题。
相关代码:
m_comboBoxChoices = []
self.m_comboBox = wx.ComboBox(self, wx.ID_ANY, u"", wx.DefaultPosition, wx.Size(60, -1), m_comboBoxChoices,
wx.TE_PROCESS_ENTER)
bSizer.Add(self.m_comboBox, 0, wx.ALL, 5)
def set_comboBox_valueList(self):
choice_list =[0]
self.m_comboBox.SetItems(choice_list)
# 设置文本输入框的初始显示值
def set_comboBox_iniValue(self):
self.m_comboBox.Select(0)