0

私はpygtkに次のコードを持っています:

....
    rendererText = gtk.CellRendererText()
    self.columns["hour"] = gtk.TreeViewColumn("Uur", rendererText, text=0)
    self.columns["hour"].set_sort_column_id(0)   
    self.treeview.append_column(self.columns["hour"])

    self.columnControls["ond"] = gtk.CellRendererToggle()
    self.columns["ond"] = gtk.TreeViewColumn("ond", self.columnControls["ond"], active=1)
    self.columns["ond"].set_sort_column_id(1)   
    self.treeview.append_column(self.columns["ond"])
....

したがって、個人的には、列のエントリに表示されるチェックボックスをクリックすると「切り替え可能」になると期待していますが、そうではありません。これは私の OS (Mac OS X 10.8) のせいですか、それとも何か設定し忘れたプロパティがありますか?

4

1 に答える 1

1

その GtkListStore/GtkTreeStore の値を逆にする可能性のあるコールバック関数をバインドして、toggledシグナルを送る必要があります。このような:

 def on_cellrenderertoggle_toggled(self, cellrenderertoggle, path):
    # self.liststore is the tree modal of that treeview
    self.liststore[path][1] = not self.liststore[path][1]

完全なチュートリアルはこちらにあります: http://python-gtk-3-tutorial.readthedocs.org/en/latest/cellrenderers.html#cellrenderertoggle

于 2013-06-26T02:27:18.917 に答える