2013-06-15 4 views
0

Я сделал интерфейс в Glade, и у меня есть GtkScrolledWindow с внутренним пространством GtkTreeView. Однако никаких полос прокрутки нет. Я установил политики Always, и попытался создать настройки и установить для них дерево и прокручиваемое окно. Элементы отображаются в древовидной структуре просто отлично, кроме обрезания. Для параметра ScrolledWindow установлено значение Visible.PyGTK/Glade - Полосы прокрутки не отображаются в ScrolledWindow

Я не мог найти ни малейшего намека на то, что у кого-либо еще есть проблемы с этим, так что мне не хватает?

Вот соответствующая часть файла .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> 

скриншот TreeView с не скроллинга и поляны виджета дерева: why http://dogtato.net/images/noscrollbars.png

Glade для GTK-2 немного багги для Я не рисую все виджеты до тех пор, пока не выберу их в дереве в правом верхнем углу. В любом случае, полосы прокрутки появятся в GLADE, если я играю с настройками размера страницы для настроек, но все еще не используется в приложении.

Я не написал никакого реального кода, делающего что-либо с помощью ScrolledWindow. Есть ли какая-либо настройка за пределами поляны, которая должна быть выполнена, например, подключение сигнала?

Полный код здесь: https://github.com/dogtato/dbfutil/tree/pygtk

ответ

0

Простое исправление было:

  • TreeView: набор Fixed Height Mode в Нет
  • TreeViewColumn: установить Калибровка Автоматически или только расти

С одностолбцовыми представлениями размер столбца изменяется в соответствии с его содержимым, а полосы прокрутки отображаются, если содержимое не подходит.
С представлениями с несколькими столбцами столбцы получают начальную ширину, и полосы прокрутки появятся, если они не подходят.
Менее очевидно, что «режим фиксированной высоты» для древовидного изображения будет означать «режим фиксированной ширины» для его столбцов, но это, похоже, так.

В качестве альтернативы столбцам может быть задана фиксированная ширина, которая превышает ширину прокрученного окна, но это было связано с тем, что полосы прокрутки необходимы.

Смежные вопросы