PyGTK - Добавление строк в gtk.TreeStore - PullRequest
0 голосов
/ 12 октября 2010

После прохождения официального урока здесь: урок

У меня все еще есть проблемы с добавлением строк / созданием объекта TreeIter. Вот как выглядит мой код:

    builder = gtk.Builder()
    self.treeview = builder.get_object("treeview")
    self.treestore = gtk.TreeStore(str)

    self.treeview.set_model(self.treestore)

    self.id = gtk.TreeViewColumn('ID')
    self.type = gtk.TreeViewColumn("Type")
    self.readName = gtk.TreeViewColumn("Filename")
    self.set = gtk.TreeViewColumn("Set")

    self.treeview.append_column(self.id)
    self.treeview.append_column(self.readName)
    self.treeview.append_column(self.type)
    self.treeview.append_column(self.set)

    self.cell = gtk.CellRendererText()
    self.cell1 = gtk.CellRendererText()
    self.cell2 = gtk.CellRendererText()
    self.cell3 = gtk.CellRendererText()

    self.id.pack_start(self.cell, True)
    self.readName.pack_start(self.cell1, True)
    self.type.pack_start(self.cell2, True)
    self.set.pack_start(self.cell3, True)

    self.id.add_attribute(self.cell, 'text', 0)
    self.readName.add_attribute(self.cell1, 'text', 1)
    self.type.add_attribute(self.cell2, 'text', 2)
    self.set.add_attribute(self.cell3, 'text', 3)

    self.treeview.set_reorderable(True)

    self.readListVP.add(self.treeview)

    iter = self.treestore.get_iter(self.treestore.get_path(iter)) #here's where my problem lies
    self.treestore.set_value(None, 0, self.fileCountStr)
    self.treestore.set_value(None, 1, "paired-end")
    self.treestore.set_value(None, 2, self.file)
    self.treestore.set_value(None, 3, self.readSetStr)

1 Ответ

1 голос
/ 25 октября 2010

Я также обнаружил ряд общих проблем с кодом:

  1. Вы создаете слишком много CellRenderer!Используйте только один для всей таблицы.
  2. Не используйте Builder()!Это просто глупо усложнять вещи.
  3. Вы не добавляете столбцы наиболее эффективным способом.

Посмотрите на вопрос Я уже задавал.

...