我的问题在于我已经将 GtkImage 替换为 GtkDrawingArea 小部件,并且它不像 GtkImage 那样滚动。
这就是我放置 GtkImage 和 GtkDrawingArea 的方式(一次一个)。
- GtkScrolledWindow
- GtkViewPort
- GtkImage / GtkDrawingArea
- GtkViewPort
我以为这已经足够了。
使用 GtkImage:我水平和垂直滚动,GtkImageViewport 加载应该显示的 PixBuf 部分,如您在此处看到的:
使用 GtkDrawingArea:滚动条占据所有可用区域,因此图像不会移动,如您在此处看到的:
如果我调整窗口大小,图像中不可见但在滚动时应该可见的部分会出现:
NOTE1:我希望能够在图像上绘图并使用像素坐标,这就是为什么我认为使用 Gtk.DrawingArea 和 Cairo 是一个好主意。
NOTE2:我已经通过 Glade 和使用 scrolledwindow.add_with_viewport(drawing_area) 的代码进行了尝试