2010-10-12 37 views
0

這裏繼官方教程後:tutorialPyGTK的 - 添加行到gtk.TreeStore

我仍然有添加行/創建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) 
+2

好吧,你已經把評論您的問題所在,但*究竟是你的問題*?你的問題在哪裏? – 2010-10-12 21:30:05

+0

是的,這是什麼問題? – 2010-10-13 04:00:00

回答

1

我發現了一些一般性問題的代碼,以及:

  1. 你創造了太多CellRenderer的!整個桌子只用一個。
  2. 請勿使用Builder()!這只是愚蠢的過分複雜的事情。
  3. 您不是以最高效的方式添加列。

查找到的問題I've already asked.