gpt4 book ai didi

python - 我如何在 Gtk ScrolledWindow 中获取当前显示区域

转载 作者:太空宇宙 更新时间:2023-11-04 06:12:14 24 4
gpt4 key购买 nike

我有一个 gtkscrolledwindow,里面有一个 gtk 图像。如何在 GtkScrolledWindow 中获取当前显示区域?例如,我的图像是 1366x768 像素,而 300x400 像素的图像部分显示在滚动窗口中。我想获得显示部分的坐标,如 (x,y,width,height)我在看这里:https://developer.gnome.org/gtkmm/unstable/classGtk_1_1ScrolledWindow.html但找不到任何解决方案。谢谢。

编辑:来自 user1146332 的解决方案非常感谢。对于 python 代码:

    x = self.scrolledwindow.get_hadjustment()
print str(x.get_page_size()) + " width of showing area"
y =self.scrolledwindow.get_vadjustment()
print str(y.get_page_size()) + " height of showing area"
print str(x.get_upper()) + " image width in scrolledwindow"
print str(y.get_upper()) + " image height in scrolledwindow"
print str(x.get_value()) + " x position"
print str(y.get_value()) + " y position"

请注意,对于在 GtkScrollbar 中使用的调整,允许值的有效范围是从 adjustment->lower 到 adjustment->upper-adjustment->page_size。

最佳答案

我猜你想实现这样的目标:

coordinates

xy 描述了位于图像部分左上角的点以及 widthheight 与图像部分的大小有关。此外,我假设 GtkImage 对象被添加到 GtkViewport 小部件,并且 GtkViewport 被添加到 GtkScrolledWindow

不幸的是,我不能给你一个特定于 python 的答案,因为我对此一无所知。但是,如果您能够将信息从 gtk 的引用手册传输到 python,您应该能够实现它。

如果您想要有关图像部分坐标的信息,您首先必须获得 GtkScrolledWindow 小部件的 vadjustmenthadjustment 属性。这些属性是 GtkAdjustment 对象,包含您需要的信息。这些对象的 page-size 属性与可见图像部分的大小有关,即 widthheight。而 vadjustmenthadjustmentvalue 属性定义了图像部分左上角的点,即 xy

如果您想对上述属性的变化做出异步 react ,您应该将两个调整对象的 changedvalue-changed 信号连接到同一个信号处理程序.

关于python - 我如何在 Gtk ScrolledWindow 中获取当前显示区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18057928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com