如果选择了组合框的特定条目并且组合框失去焦点,我不想执行操作。
我知道如何通过
调用处理程序 self.Bind(wx.EVT_COMBOBOX, self.__HandlerForComboBox, mycombobox)
但问题是:
如果用户通过向上/向下箭头单击组合框选择,他将传递该元素并执行操作。因此,我考虑将此处理程序与诸如 looseFocus
(仅特定的 ComboBox)之类的内容结合起来,并且仅当选择了 ComboBox 中的特定选项并且用户通过单击来输入该选项时才会执行该操作组合框或单击制表符可离开此框。
如何做到这一点?
最佳答案
在您的HandlerForComboBox
中,只需设置一个标志来表明您的特定条目已被选择。像这样的东西应该有效:
if self.cbo.GetValue() == 'special value':
self.special_entry = True
else:
self.special_entry = False
然后在焦点事件处理程序中,您只需检查 self.special_entry
是否为 True 并采取相应的操作。
关于python - WxPython 对 ComboBox-Selection 的特定选择执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31668737/