如何解决GtkLabel 上没有显示文本
using Gtk;
class ConquerLauncher : Gtk.Application {
protected override void activate() {
var window = new applicationwindow(this);
window.add(new InputList());
window.show_all();
}
}
public int main(string[] args) {
return new ConquerLauncher().run(args);
}
class InputList : Box {
public InputList() {
this.set_orientation(Orientation.VERTICAL);
var listStore = new Gtk.ListStore(1,typeof(Label));
var treeView = new TreeView.with_model(listStore);
this.pack_start(treeView);
this.pack_start(new InputBox(this,listStore));
var column = new TreeViewColumn();
column.set_title("Foo bar's");
treeView.append_column(column);
treeView.set_model(listStore);
}
}
class InputBox : Box {
public InputBox(InputList list,Gtk.ListStore store) {
this.set_orientation(Orientation.HORIZONTAL);
var entry = new Entry();
this.pack_start(entry);
var button = new Button.with_label("Add foo bar");
this.pack_start(button);
button.clicked.connect(() => {
var text = entry.text;
entry.text = "";
TreeIter tp;
store.append(out tp);
store.set(tp,new Label(text),-1);
this.show_all();
list.show_all();
});
}
}
我想做什么:
我想创建某种由三个元素组成的输入表单:
在 Entry
中,用户应该写一些文本。如果按下按钮,则应将其添加到 TreeView
中,并以 ListStore
作为模型。
预期:
用户输入文本,按下按钮,Entry
的内容被添加到 TreeView 并清除文本输入字段。
现实:
之前:
这是一个示例输入:
按下按钮后:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。