2014-02-22 44 views
0

我執行該程序:不同的列值

#!/usr/bin/env python 

import gtk 

class CellRenderer: 
    def __init__(self): 
     window = gtk.Window() 
     window.set_default_size(200,200) 

     liststore = gtk.ListStore(str, str) 
     liststore.append(["Fedora","http://fedoraproject.org"]) 
     liststore.append(["Slackware","http://www.slackware.com"]) 
     liststore.append(["Sidux","http://sidux.com"]) 

     treeview = gtk.TreeView(liststore) 
     column_text = gtk.TreeViewColumn("Distributions") 
     column_sample= gtk.TreeViewColumn("Links") 
     treeview.append_column(column_text) 
     treeview.append_column(column_sample) 

     cellrenderer_text = gtk.CellRendererText() 
     column_text.pack_start(cellrenderer_text,False) 
     column_text.add_attribute(cellrenderer_text,"text",0) 

     cellrenderer_sample = gtk.CellRendererText() 
     column_sample.pack_start(cellrenderer_sample, False) 
     column_sample.add_attribute(cellrenderer_sample,"text", 0) 

     window.connect("destroy", lambda q : gtk.main_quit()) 
     window.add(treeview) 
     window.show_all() 

CellRenderer() 
gtk.main() 

我將得到的窗口是這樣的:

enter image description here

您可能已經注意到,列表追加到liststore在第二個索引中有鏈接。爲什麼沒有任何鏈接顯示在第二列?

回答

0

你是指同一指數

column_sample.add_attribute(cellrenderer_sample,"text", 0) 

改變它

column_sample.add_attribute(cellrenderer_sample,"text", 1) 

完整的文件。

import gtk 

class CellRenderer: 
    def __init__(self): 
     window = gtk.Window() 
     window.set_default_size(200,200) 

     liststore = gtk.ListStore(str, str) 
     liststore.append(["Fedora","http://fedoraproject.org"]) 
     liststore.append(["Slackware","http://www.slackware.com"]) 
     liststore.append(["Sidux","http://sidux.com"]) 

     treeview = gtk.TreeView(liststore) 
     column_text = gtk.TreeViewColumn("Distributions") 
     column_sample= gtk.TreeViewColumn("Links") 
     treeview.append_column(column_text) 
     treeview.append_column(column_sample) 

     cellrenderer_text = gtk.CellRendererText() 
     column_text.pack_start(cellrenderer_text,False) 
     column_text.add_attribute(cellrenderer_text,"text",0) 

     cellrenderer_sample = gtk.CellRendererText() 
     column_sample.pack_start(cellrenderer_sample, False) 
     column_sample.add_attribute(cellrenderer_sample,"text", 1) 

     window.connect("destroy", lambda q : gtk.main_quit()) 
     window.add(treeview) 
     window.show_all() 

CellRenderer() 
gtk.main() 
+0

它的工作!謝謝! –