문제

I executed this program :

#!/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()

The resultant window I obtained is this :

enter image description here

As you may have noticed, the lists appended to liststore had links in the second index.Why weren't any of those links displayed in the second column?

도움이 되었습니까?

해결책

You are referring to same index at

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

change it to

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

Full file.

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()
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top