0

Glade でインターフェイスを作成し、内部に GtkTreeView を含む GtkScrolledWindow を作成しました。ただし、スクロールバーはありません。ポリシーを Always に設定し、調整を作成して、ツリービューとスクロール ウィンドウをそれらに設定しようとしました。アイテムは、途切れることを除けば、ツリービューに問題なく表示されます。ScrolledWindow は Visible に設定されています。

他の誰かがこれに問題を抱えているというヒントを見つけることができなかったので、何が欠けていますか?

.glade ファイルの関連部分は次のとおりです。

<object class="GtkScrolledWindow" id="joinwindow">
    <property name="visible">True</property>
    <property name="can_focus">True</property>
    <property name="hadjustment">joinview_h_adjust</property>
    <property name="vadjustment">joinview_v_adjust</property>
    <property name="shadow_type">in</property>
    <child>
      <object class="GtkTreeView" id="joinview">
        <property name="visible">True</property>
        <property name="can_focus">True</property>
        <property name="model">jointree</property>
        <property name="hadjustment">joinview_h_adjust</property>
        <property name="vadjustment">joinview_v_adjust</property>
        <property name="headers_visible">False</property>
        <property name="headers_clickable">False</property>
        <property name="enable_search">False</property>
        <property name="search_column">0</property>
        <property name="fixed_height_mode">True</property>
        <property name="enable_tree_lines">True</property>
        <child>
          <object class="GtkTreeViewColumn" id="joinviewcolumn">
            <property name="sizing">fixed</property>
            <property name="title" translatable="yes">column</property>
            <child>
              <object class="GtkCellRendererText" id="joinviewcolumntext"/>
              <attributes>
                <attribute name="text">0</attribute>
              </attributes>
            </child>
          </object>
        </child>
      </object>
    </child>
  </object>

スクロールバーのないツリービューと空き地ウィジェット ツリーのスクリーンショット: (ソース: dogtato.net )どうして

Glade for GTK-2 は私には少しバグがあります。右上のツリービューでウィジェットを選択するまで、すべてのウィジェットが正しく描画されません。とにかく、調整のページサイズ設定をいじるとスクロールバーがイングラードに表示されますが、アプリにはまだありません。

ScrolledWindow で何かを行う実際のコードは書いていません。信号の接続など、グレイド以外で行う必要のある設定はありますか?

完全なコードはこちら: https://github.com/dogtato/dbfutil/tree/pygtk

4

1 に答える 1

0

簡単な修正は次のとおりです。

  • TreeView: 固定高さモードをいいえに設定します
  • TreeViewColumn: Sizing を Automatic または Grow Only に設定します

単一列ビューでは、内容に合わせて列のサイズが変更され、内容が収まらない場合はスクロールバーが表示されます。
複数列のビューでは、列は最初の幅を取得し、収まらない場合はスクロールバーが表示されます。
ツリービューの「固定高さモード」がその列の「固定幅モード」を意味することは明らかではありませんが、そうであるようです。

別の方法として、ScrolledWindow の幅を超える固定幅を列に指定することもできますが、これは必要に応じてスクロールバーを表示することに関するものでした。

于 2013-06-30T17:59:48.453 に答える