WxPython 为 ComboBox-Selection 的特定选择执行操作

WxPython perform action for a specific choice of ComboBox-Selection

如果选择了 ComboBox 的特定条目并且 ComboBox 失去焦点,我不想执行操作。

我知道如何通过

调用处理程序
 self.Bind(wx.EVT_COMBOBOX, self.__HandlerForComboBox, mycombobox)

但问题是: 如果用户通过箭头 up/arrow 向下单击 ComboBox-choices,他将传递元素并且操作将执行结束。所以我考虑将此处理程序与 looseFocus(仅特定的 ComboBox)之类的东西结合起来,并且只有在选择了 ComboBox 中的特定选项并且用户通过单击 ComboBox 或单击制表符离开这个盒子。

怎么做?

在您的 HandlerForComboBox 中,只需设置一个标志,表明您的特定条目已被选中。这样的事情应该有效:

if self.cbo.GetValue() == 'special value':
    self.special_entry = True
else:
    self.special_entry = False

然后在您的焦点事件处理程序中,您只需检查 self.special_entry 是否为 True 并据此采取行动。