PythonとpyGTKを使用したプロジェクトに取り組んでいます。画像を表示することだけを目的としたウィンドウがあります。画像が大きすぎて画面に収まらない場合を除いて、ウィンドウにはデフォルトでスクロールバーが表示されないはずです。
だから私がすることはこのようなものです:
window = gtk.Window()
window.resize(image.size[0], image.size[1])
scrolled = gtk.ScrolledWindow()
scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
scrolled.set_shadow_type(gtk.SHADOW_NONE)
area = gtk.DrawingArea()
area.set_size_request(image.size[0], image.size[1])
window.add(scrolled)
scrolled.add_with_viewport(area)
area.show()
scrolled.show()
window.show()
しかし、それは完全には機能しません。結果のウィンドウは少し小さすぎるため、スクロールバーが表示されます。
それが機能するために、私はこれに2行目を感謝する必要があります:
window.resize(image.size[0] + 2, image.size[1] + 2)
しかし、それは醜いものであり、すべてのシステムで機能するわけではありません。私のWindowsボックスでは、+3を使用する必要があります。
ウィンドウが画像に対して十分な大きさであることを確認するにはどうすればよいですか?