我正在编写一个简单的GUI,其中有一个ComboBoxText。当用户点击ComboBoxText时,我会写一条日志消息。 我已经尝试了几乎所有按钮释放和弹出信号,但没有结果。唯一有效的是signal_changed(),但我并不需要。请帮帮我,下面是我的示例代码:
myCombo->signal_button_release_event().connect(sigc::mem_fun(this,&ComboBoxText::ComboInput),false);
这是回调函数:
bool ComboBoxText::ComboInput(GdkEventButton *pEvt) {
// Here do the desired stuffs !!
return false; }
答案 0 :(得分:0)
使用GTK +属性popup-shown
。不确定Gtkmm语法,可能是property_popup_shown().get_value()
。
如果您需要收听信号,请连接到popdown
或notify::popup-shown
(后者在属性值更改时调用;同样,我不确定Gtkmm语法)。
答案 1 :(得分:0)
这里的想法是在单击ComboBoxText时触发事件。经过一些阅读后,我发现ComboBoxText没有触发任何on_click事件。 人们可以屏蔽按键事件(顺便说一下被触发)并调用信号处理程序。对于专门寻找on_click事件的人而言,这对于那些使用键盘或触摸屏设备的人来说可能并不方便。这是一小段代码:`
mCombo.add_events(GDK :: KEY_PRESS_MASK); 。mCombo.signal_event()连接(sigc :: mem_fun(此,&安培;类名::处理程序),假);
欢呼:)