所以我有一个列表框:如何动态更新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