为啥 Gtk 的 button_press_event 不会收到单击左键?

Posted

技术标签:

【中文标题】为啥 Gtk 的 button_press_event 不会收到单击左键?【英文标题】:Why won't Gtk's button_press_event receive single left clicks?为什么 Gtk 的 button_press_event 不会收到单击左键? 【发布时间】:2009-06-30 18:19:43 【问题描述】:

我正在尝试在 Gtk::Notebook (gtkmm) 中设置一个添加选项卡按钮。我通过将像素图绘制到计算位置来做到这一点——效果很好。但是,当尝试为其接收事件时,我无法单击左键。单中间和单右提供新闻和发布事件,双左只提供新闻事件,但单左不注册任何东西。如何正确接收事件?

【问题讨论】:

您是要捕捉按钮还是图像的点击事件?左键单击可能会被按钮捕获并且永远不会传播到图像,右键单击可能只是传递。 没有按钮 -- 图片位于选项卡右侧空白区域的顶部。 【参考方案1】:

您是否在GtkEventBox 中绘制了您的图像?

【讨论】:

我手动绘制图像的原因是因为它需要位于另一个小部件之上。有没有一种简单的方法可以将 EventBox 放在特定的像素位置? 那将是一个 GtkFixed 小部件。

以上是关于为啥 Gtk 的 button_press_event 不会收到单击左键?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Gdk::Pixbufs 在 Gtk::TreeView 中不可见?

gtk编程中标签控件设置了gtk_label_set_line_wrap(GTK_LABEL(label),TRUE);为啥也不能自动换行呢?

按下按钮时 Gtkmm scroll_event 不起作用

为啥使用 GLib 函数?

Gtk-WARNING **: gtk_disable_setlocale() 必须在 gtk_init() 之前调用

Gtk+ 删除 Gtk::Treeview 上第一列的填充/边距