PyGTK和树视图

时间:2011-12-07 14:31:48

标签: python pygtk glade

我正在尝试将Tree View添加到我的PyGTK应用程序中。

以下是Glade的样子:

enter image description here enter image description here

还有一个主窗口代码,我正在尝试添加一些数据到我的树视图中:

import gettext
from gettext import gettext as _
gettext.textdomain('repository-notifier')

import gtk
import logging
logger = logging.getLogger('repository_notifier')

from repository_notifier_lib import Window
from repository_notifier.AboutRepositoryNotifierDialog import AboutRepositoryNotifierDialog
from repository_notifier.PreferencesRepositoryNotifierDialog import PreferencesRepositoryNotifierDialog

# See repository_notifier_lib.Window.py for more details about how this class works
class RepositoryNotifierWindow(Window):
    __gtype_name__ = "RepositoryNotifierWindow"

    def finish_initializing(self, builder): # pylint: disable=E1002
        """Set up the main window"""
        super(RepositoryNotifierWindow, self).finish_initializing(builder)

        self.AboutDialog = AboutRepositoryNotifierDialog
        self.PreferencesDialog = PreferencesRepositoryNotifierDialog

        # Code for other initialization actions should be added here.
        self.builder.get_object('listLogModel').append([5])
        self.builder.get_object('listLogModel').append([6])
        self.builder.get_object('listLogModel').append([7])

但是我在运行应用程序时得到的是空树视图:

enter image description here

当我从Glade向Tree View添加行时也是如此。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

我认为您需要在TreeViewColumn下添加ListStore一些CellRenderer来显示模型中已有的列。

为此,请选择TreeView窗口小部件,然后单击Edit按钮。将打开一个对话框(类似于用于编辑菜单的对话框),以便您可以向列添加列和渲染器。之后,模型中的任何更改都将显示在树视图中。