所以我有一個列表框:如何動態更新Gtk.ListBox?
var listbox = new Gtk.ListBox();
var l = new Watcher.ListItem.NewItem("title","subtitle", "etc");
listbox.insert(l, 0);
「L」 基本上是一個Gtk.ListBoxRow與格式化標籤和東西。
我添加了一個標籤爲「New」的按鈕,目的是將新項目添加到列表框中。
int i = 1;
back_new.clicked.connect(()=>{
l = new Watcher.ListItem.NewItem("title2", "subtitle2", "etc2");
listbox.insert(l, i);
i++;
});
的問題是,如果我有檢查「listbox.get_row_at_index(2)」這表明有什麼東西在列表框中使事情發生,但在GUI中的列表框不更新。如果需要的話
全部代碼是在這裏: http://pastebin.com/u/Levike
請包括創建ListBoxRow和其中的小部件的代碼。我的猜測仍然是,其中一些不可見(GTK +不幸的是默認爲不可見所有新的小部件)。 – jku
插入第一個元素(索引:0)沒問題。所以如果我運行程序,我可以看到一個元素,但是當我點擊「back_new」按鈕時,它不會添加第二個元素(我的意思是它不顯示)。我甚至嘗試用一個標籤創建一個簡單的listboxrow元素。沒有運氣 – Levi
,但這裏是完整的代碼:http://pastebin.com/u/Levike Listitem.vala是你所要求的@jku – Levi