ウィジェットのスクロール可能な列に使用するGTKウィジェットの組み合わせはどれですか?
質問
私はPyGTKと協力して、次のことを行うウィジェットの組み合わせを考え出そうとしています:
- 無数のウィジェットを列に追加します
- 垂直スクロールバーを提供して、下部にあるスクロールバーに到達する
- ウィジェットの幅を調整して、ウィンドウのサイズが変更されたときに利用可能な水平スペースを埋めます
ありがとう-GTKは初めてです。
解決
- 列内の無数のウィジェット:GtkVBoxのように聞こえます。
- 垂直スクロールバー:VBoxをGtkScrolledWindowに配置します。
- 水平ストレッチ:これには、VBox、ScrolledWindow、およびその他のウィジェットに適切なプロパティを設定する必要があります。少なくともGladeでは、デフォルトでほとんどが処理されているようです(おそらく、ScrolledWindowのスクロールバーポリシーを変更する必要があります)。
次はトリックです。上にリストしたものだけを実行すると、VBoxのコンテンツは水平方向だけでなく垂直方向にもサイズを変更しようとするため、スクロールバーが表示されません。解決策は、VBoxをGtkViewportに配置することです。
したがって、最終的な階層はScrolledWindow(Viewport(VBox(widgets)))です。
他のヒント
コードでスティーブが言ったこと:
vbox = gtk.VBox()
vbox.pack_start(widget1, 1, 1) ## fill and expand
vbox.pack_start(widget2, 1, 1) ## fill and expand
vbox.pack_start(widget3, 1, 1) ## fill and expand
swin = gtk.ScrolledWindow()
swin.add_with_viewport(vbox)
所属していません StackOverflow