Python 如何获取GtkScrolledWindow中的当前显示区域

Python 如何获取GtkScrolledWindow中的当前显示区域,python,gtk,pygtk,gtkscrolledwindow,Python,Gtk,Pygtk,Gtkscrolledwindow,我有一个gtkscrolledwindow,里面有一个gtk图像。如何获取GtkScrolledWindow中的当前显示区域?例如,我的图像是1366x768像素,图像的300x400像素部分显示在滚动窗口中。我想得到显示零件的坐标,比如(x,y,宽度,高度) 我在这里寻找:但找不到任何解决方案。 谢谢 编辑:来自user1146332的解决方案非常感谢。对于python代码: 请注意,对于GtkScrollbar中使用的调整,允许值的有效范围是从调整->下限到调整->上限-调整->页面大小。我

我有一个gtkscrolledwindow,里面有一个gtk图像。如何获取GtkScrolledWindow中的当前显示区域?例如,我的图像是1366x768像素,图像的300x400像素部分显示在滚动窗口中。我想得到显示零件的坐标,比如(x,y,宽度,高度) 我在这里寻找:但找不到任何解决方案。 谢谢

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


请注意,对于GtkScrollbar中使用的调整,允许值的有效范围是从调整->下限到调整->上限-调整->页面大小。

我猜您希望实现以下目标:

x
y
描述了位于图像部分左上角的点,并且
宽度
高度
与图像部分的大小有关。此外,我假设
GtkImage
对象被添加到
GtkViewport
小部件中,
GtkViewport
被添加到
gtkscrolledwowdow

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

如果您需要有关图像部分坐标的信息,首先必须获取
GtkScrolledWindow
小部件的
vadejustment
hadejustment
属性。这些属性是
gtkaadjustment
对象,包含您需要的信息。这些对象的
页面大小
属性与可见图像部分的大小相关,即
宽度
高度
。而
vadjustment
hadjustment
value
属性定义了图像部分左上角的点,即
x
y


如果您希望对上述属性的更改做出异步反应,则应将两个调整对象的
更改的
值更改的
信号连接到同一个信号处理器。

非常感谢!你的答案正是我想做的。
    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"