2

動作するGtk3Listoreに対して次の設定があります。

    self.liststore = Gtk.ListStore(str, str, bool)
    treeview = Gtk.TreeView(model=self.liststore)

    renderer_text = CellRendererText()
    column_text = Gtk.TreeViewColumn("Media URL", renderer_text, text=0)
    treeview.append_column(column_text)


    column_date = Gtk.TreeViewColumn("Date", renderer_text, text=1)
    column_date.pack_start(renderer_text, True)
    treeview.append_column(column_date)


    renderer_toggle = Gtk.CellRendererToggle()
    renderer_toggle.connect("toggled", self.on_cell_toggled)
    column_toggle = Gtk.TreeViewColumn("Toggle", renderer_toggle, active=2)
    treeview.append_column(column_toggle)

    self.treeview = treeview
    self.scrolledwindow.add(self.treeview)

そして私は追加しようとします:

     column_text.set_sort_column_id(0)
     self.liststore.set_sort_func(0,self.compare, None)

そしてこれはクラッシュを引き起こします、しかしここのドキュメントによると:http: //python-gtk-3-tutorial.readthedocs.org/en/latest/treeview.htmlそれは動作するはずです、しかしそれは私が0を置き換える場合にのみ動作しますself.liststore.set_sort_func(0、self.compare、None)の1で、[メディア]列をクリックしてコンテンツを並べ替えることができます。

      self.liststore.set_sort_func(1,self.compare, None)

質問:これは正しいですか、これは奇妙ですか、ドキュメントが間違っていて、モデルへのインデックスがドキュメントのように0から始まりませんか?

しかし、さらに、[日付]列を介して並べ替えを許可するためのヘルプが必要です。追加してみました:

       column_date.set_sort_column_id(0)
       self.liststore.set_sort_func(1,self.compare, None)

しかし、そうするとクラッシュして失敗します。

4

0 に答える 0