PyGTK / Glade - Scrollbars不出现在ScrolledWindow中

时间:2013-06-15 05:56:13

标签: python pygtk glade

我在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>

没有滚动条和glade小部件树的树视图的屏幕截图: why http://dogtato.net/images/noscrollbars.png

Glade for GTK-2对我来说是一个小小的错误,直到我在右上角的树视图中选择它们时才会绘制所有小部件。无论如何,如果我调整了调整的页面大小设置,滚动条将显示在IN GLADE中,但在应用程序中仍然没有。

我没有用ScrolledWindow编写任何实际代码。是否有需要完成的林间空间设置,如连接信号?

完整代码在此处:https://github.com/dogtato/dbfutil/tree/pygtk

1 个答案:

答案 0 :(得分:0)

简单的解决方法是:

  • TreeView:将固定高度模式设置为否
  • TreeViewColumn:将Sizing设置为Automatic或Grow Only

使用单列视图时,列会调整大小以适合其内容,如果内容不适合,则会显示滚动条。
使用多列视图时,列将获得初始宽度,如果它们不适合,则会显示滚动条 对于树视图来说,“固定高度模式”对于其列来说意味着“固定宽度模式”并不是很明显,但似乎是这种情况。

或者,列的固定宽度可以超过ScrolledWindow的宽度,但这是根据需要显示滚动条。