如何在GTK + 3(Python)中创建侧边栏?

时间:2013-02-16 22:48:39

标签: user-interface gtk gtk3 pygobject

我是GTK + 3的新手(我使用PyGObject),我需要创建一个具有如下结构的侧边栏:

Header 1
    Subheader 1
    Subheader 2

Header 2
    Subheader 3
    Subheader 4

我可以从中学到什么样的例子?您能否向我展示如何使用Gtk.TreeviewGtk.TreeModel(不使用Gtk.Builder())的最小工作示例?

除了使用xml文件和Gtk.Builder()来描述布局似乎比在python文件中创建结构更好,但是这样做的文档似乎要少得多。

我当前的用户界面说明:

<?xml version="1.0" encoding="UTF-8"?>
<interface>
    <object class="GtkWindow" id="main-window">
        <property name="title">ApplicationName</property>
        <signal name="delete-event" handler="onDeleteWindow"/>
        <child>
            <object class="GtkBox" id="container">
                <property name="orientation">horizontal</property>
                <child>
                    <object class="GtkTreeView" id="sidebar">
                    </object>
                </child>
                <child>
                    <object class="GtkBox" id="right-container">
                        <property name="orientation">vertical</property>
                        <child>
                            <object class="GtkButtonBox" id="top-buttonbox">
                                <child>
                                    <object class="GtkButton" id="add-button">
                                        <property name="label">Add</property>
                                    </object>
                                </child>
                                <child>
                                    <object class="GtkButton" id="delete-button">
                                        <property name="label">Delete</property>
                                    </object>
                                </child>
                            </object>
                        </child>
                    </object>
                </child>
            </object>
        </child>
    </object>
</interface>

1 个答案:

答案 0 :(得分:4)

您应该查看GtkTreeView和关联的树状数据模型GtkTreeStorePython GTK+ 3.0 Tutorial是一个很好的介绍。