سؤال

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