在Gtk +中,每列可以有多個單元格渲染器,但是我想在不同的行中使用不同的單元格渲染器。例如,我想列出樹形視圖中對象的屬性。對於布爾屬性,切換按鈕比編輯GtkCellRendererText
和輸入TRUE
或FALSE
要簡單得多。在Gtk中,每個treeview行可以有一個單元格渲染器嗎?
我知道我可以通過設置回調通過gtk_tree_view_column_set_cell_data_func()
對行數據作出反應。但在回調中,單元格渲染器已經修復,我只能改變其外觀。
編輯: ptomato指出它如何在Vala中完成。我接收了這些信息並構建了一個基於C的單元格渲染器,它根據屬性的類型採用GObject和列表存儲(假定第一列包含屬性名稱)以顯示自定義單元格。我還劃分了一個樹視圖窗口小部件,將其組合在一起以便於使用。這兩個組件都可以在Github找到。
我不太流利的瓦拉,所以我可能是錯的什麼我砍死在一起[這裏](https://開頭github.com/matze/EggPropertyTreeView)。它顯示正確的文本和切換渲染器,但不能旋轉。此外,我無法以任何方式與單元格交互,儘管我將它們的屬性設置爲「可編輯」和「可激活」。出於某種原因,不會調用'xxx_start_editing()'和'xxx_activate()'這似乎是問題所在。 – matthias
好的,現在我明白了。我需要更新子渲染器的模式_和_子類閃存渲染器。 – matthias
很高興你得到它! – ptomato