私の問題は、GtkDrawingArea ウィジェットの GtkImage を置き換えたことと、GtkImage のようにスクロールしないことです。
これは、GtkImage と GtkDrawingArea (一度に 1 つずつ) の両方を配置する方法です。
- GtkScrolledWindow
- GtkViewPort
- GtkImage / GtkDrawingArea
- GtkViewPort
これで十分だろうと思いました。
GtkImage の場合:水平方向と垂直方向にスクロールすると、GtkImageViewport が表示すべき PixBuf の一部を読み込みます。
GtkDrawingArea の場合:スクロール バーが使用可能なすべての領域を占有するため、画像は移動しません。
ウィンドウのサイズを変更すると、スクロール時に表示されず、表示されるはずの画像の部分が表示されます。
注1 :画像に描画してピクセル座標を操作できるようにしたいので、Gtk.DrawingAreaとCairoを使用するのは良い考えだと思います。
注2: Gladeとscrolledwindow.add_with_viewport(drawing_area)を使用したコードの両方を試しました