如何根据鼠标位置更改GTKLabel?

时间:2017-05-23 17:52:30

标签: c++ gtk label mouseevent gtk2

我已阅读文档,但找不到任何相关内容。 例如,如果我在左上方有一个表格和鼠标,它会说(0,0),并且它会根据我下一步鼠标的位置而相应地改变。

1 个答案:

答案 0 :(得分:0)

不确定您的目的是什么,可能还有更好的方法来实现您的最终目标,但无论如何,

您必须将信号连接到要跟踪鼠标的小部件。信号来自GtkWidget,它被称为motion-notify-event。信号处理程序将使用鼠标x和y坐标接收事件。

如果你想跟踪GtkTable(继承自GtkWidget)的鼠标,那么只需将信号连接到它并让回调更新GtkLabel。

修改

正如@jku所说,有些小部件没有收到这些事件,因为它们没有GdkWindow。可能最好的选择是将表添加到EventBox容器中,然后按照前面的说明继续操作。此外,这个问题已经提出here