我有一个Gtk :: EventBox,它连接了两个事件:button_press_event和scroll_event。 所有这两个事件工作正常,但是当我按住鼠标按钮时,不会发出滚动事件。当按下按钮时,Gtkmm scroll_event不起作用
我在我的班级实施了bool on_button_press_event (GdkEventButton *e)
和bool on_scroll_event (GdkEventScroll *e)
这两个功能。这两个函数返回false
以进一步传播事件。
即时通讯使用gtkmm3。
我该如何解决这个问题?
的代码示例来重现问题:
#include <gtkmm.h>
#include <iostream>
class MyWindow : public Gtk::Window
{
Gtk::EventBox event_box;
Gtk::ScrolledWindow scrolled;
public:
bool on_button_press_event(GdkEventButton *b)
{
std::cout << "button press" << std::endl;
return false;
}
bool on_scroll_event(GdkEventScroll *e)
{
std::cout << "scrollEvent" << std::endl;
return false;
}
MyWindow()
{
add(scrolled);
scrolled.add(event_box);
set_default_size(640, 480);
show_all();
}
};
int main(int argc, char** argv)
{
Gtk::Main kit(argc, argv);
MyWindow window;
kit.run(window);
return 0;
}
对不起,我不只是添加到您的原帖评论,但我没有足够的声誉这样做 – 2013-04-27 12:51:28
在哪些操作系统是你能够重现问题了吗? – 2013-04-27 14:40:58
好吧,我已经用示例代码更新了问题以重现问题。我将在Linux/Debian下进行测试。 – Pioz 2013-04-27 15:10:44