关于 c:GTK:在 scrolled_window 滚动后获取滚动事件上的指针位置 | 珊瑚贝

GTK: Get pointer position on scroll-event AFTER scrolled_window has scrolled


我在滚动窗口内有一个绘图区域(带有方便的视口),
这个绘图区域会根据传入的运动通知事件自行更新。
当我滚动该区域时,虽然显然没有发出任何运动事件,
但我想解决这个问题,因此尝试连接绘图区域
“scroll-event” 向相同的运动通知回调发出信号。

我在这里面临的问题是这个信号是在滚动窗口之前发出的
已经更新了它的视口,所以在回调中,我最终得到了在滚动之前为真的指针坐标,使得绘图区域看起来总是”落后一步”滚动而不移动指针时的实际指针本身。
我以为我可以通过使用 gdk_window_get_pointer 手动提取坐标来弥补这一点,但后来我意识到这不起作用,因为当回调开始时指针在技术上仍处于其旧位置。
我还尝试使用 g_signal_connect_after 希望它会在滚动视口后调用回调,但它没有帮助。

我最后的希望是在滚动事件上启动一个计时器,并在最短的时间后触发回调,但这听起来真的很难看,我想不惜一切代价避免这种情况。

关于如何实现这一点的任何想法?
提前致谢!

  • 我有同样的问题,想知道答案,如果你已经解决了,记得你也可以自己发布答案。
  • @Nelson我想我当时实际上放弃了,从未修复它。当时我的 GTK 知识也很有限..


一个解决方案是连接到 GtkScrolledWindow 的”value-changed”信号
调整。

来源:https://mail.gnome.org/archives/gtk-app-devel-list/2011-September/msg00014.html


来源:https://www.codenong.com/8632822/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_9887.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?