【问题标题】:Gtkmm : How to catch right click signal for a Gtk::Table?Gtkmm:如何捕获 Gtk::Table 的右键单击信号?
【发布时间】:2010-02-11 10:07:18
【问题描述】:

我正在使用 GTKMM 制作应用程序,我想知道如何从 Gtk::Table 中捕获右键单击信号?

如果鼠标在 Gtk::Table 上,如何捕捉?

【问题讨论】:

    标签: pygtk gtk gtk# gtkmm


    【解决方案1】:

    所有 GTK+ 小部件都有 button-press-eventfocus-in-event 事件。您可以将后者与其补码 (focus-out-event) 结合使用来跟踪鼠标是否在小部件内。

    【讨论】:

    • 你能给我一个例子,我是怎么做到的,对不起,我是 GTK 编程的新手。我有一个窗口,里面有一张桌子。所以我相信我需要启用 GDK_FOCUS_CHANGE_MASK 掩码的窗口?我怎么做?然后如何将焦点事件与我的表连接起来?谢谢。
    • 在窗口的构造函数中,我调用了函数:set_events(Gdk::BUTTON_PRESS_MASK);在我的表构造函数中,我连接了信号: signal_button_press_event().connect(sigc::mem_fun(this,&myTableClass::on_right_click)); bool myTableClass::on_right_click(GdkEventButton 事件);但是,这不会捕获右键单击。
    【解决方案2】:

    好的,我想出了解决方案。我能够通过覆盖按钮按下事件来捕获右键单击:

    virtual bool on_button_press_event(GdkEventButton* event);
    

    【讨论】:

    • 不是解开谁给你的解决方案?
    • 您的回答与前面提到的 unwind 相同。您能否详细说明,尤其是如何获得右键-click,以及捕捉鼠标悬停?我有类似的问题。
    猜你喜欢
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    • 2011-05-13
    • 1970-01-01
    相关资源
    最近更新 更多