获取 gtk 滚动窗口中的鼠标位置

发布于 2024-12-16 21:04:36 字数 200 浏览 0 评论 0原文

我有一个带有视口的滚动窗口,高度约为 4000 像素。有没有办法计算出鼠标在视口坐标中的位置?目前,我得到的位置是我实际看到的段中的位置,如果我向下滚动到底部,我仍然会得到类似 600 像素的垂直位置(即我的窗口的大小) ,而不是我期望的 4000。如果没有简单的方法,如何确定滚动窗口滚动了多少?我相信,我可以把这些碎片拼凑起来。

谢谢,

v923z

I have a scrolled window with a viewport, which is some 4000 pixels tall. Is there a way to figure out the mouse position in viewport coordinates? At the moment, what I get for the position is the position in the segment that I actually see, and if I scroll down to the bottom, I still get something like 600 pixels for the vertical position (that is the size of my window), instead of the 4000 that I expect. If there is no easy way, how can one determine by how much the scrolled window is scrolled? I believe, I could then put the pieces together.

Thanks,

v923z

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

素罗衫 2024-12-23 21:04:36

您正在寻找 get_vadjustment 方法 的scrolled_window。

例如,如果将 button_press_event 绑定到滚动窗口:

def button_press_event(self, widget, event):
    v_scroll_pos = widget.get_vadjustment().get_value()
    print "y pos + scroll pos = %f" % (event.y + v_scroll_pos,)
    return gtk.TRUE

将打印 y 位置 + y 方向滚动的量。

You are looking for the get_vadjustment method of the scrolled_window.

For instance if you bind the button_press_event to the scrolled window:

def button_press_event(self, widget, event):
    v_scroll_pos = widget.get_vadjustment().get_value()
    print "y pos + scroll pos = %f" % (event.y + v_scroll_pos,)
    return gtk.TRUE

Would print the y position + the amount it is scrolled in the y direction.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文