c - 检测 GtkTreeView 行的鼠标移出

标签 c user-interface gtk signals

如何检测鼠标光标何时离开与 GtkListStore 模型关联的 GtkTreeView 行?

请注意,信号“cursor-changed”不是我想要的,因为它就像鼠标进入(鼠标悬停)事件一样发出,我需要在鼠标刚刚离开该行时触发它反而。但是在“cursor-changed”信号和 gtk_tree_view_get_cursor() 调用中我可以获得“最新的鼠标悬停行”来知道鼠标光标之前进入了哪一行。所以我至少需要一种方法来检测鼠标光标何时离开某行。

最佳答案

Mouseout 事件通常需要小部件在底层实现上使用一个窗口(Xserver 通常在您放弃一个窗口时发送它们,Windows 有另一种方式来发送信号),因此在小部件不使用窗口的环境中(这是在没有足够实现支持的环境中这很正常),必须对它们进行模拟。通常,您必须检查小部件类层次结构直至根,以查看模拟这些事件的位置以及模拟方式,以了解如何处理它们。也许您将在父类(super class)中进行一些注册过程,以允许代表此类事件调用回调。

关于c - 检测 GtkTreeView 行的鼠标移出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46294180/

相关文章:

Javascript UI 库 - CMS 重建

python - 如何仅验证扩展名为 .xlsx 的文件名?

c - 如何在C中创建非单拍定时器?

C 字符串修改

C - 使用 malloc 创建一个数组,然后循环遍历它

c - 牛顿法求平方根时如何设置合适的初数?

java - 如何延迟两个方法调用之间的时间?

c - 读取文件时如何更改数组值

c - 在哪里可以找到 GDK_comma、GDK_dollar、... 常量的列表?

更改 GtkText 输入法