我有一個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