按照一些PyGTK 教程,我正在尝试在 gjs 中填充一个组合框(Gnome 桌面上的本机 javascript)
到目前为止,我想出了两种几乎都有效的类似方法。
第一个可能最接近教程中的示例:
var testStore = new Gtk.ListStore ();
testStore.append ([0, "test1"]);
testStore.append ([1, "test2"]);
var cbox = Gtk.ComboBox.new_with_model (testStore);
cbox.set_entry_text_column (1);
cbox.show ();
这里的主要问题是它不显示任何内容,例如组合框是空的。根据教程,“new Gtk.ListStore”需要列类型作为参数,但我放在那里的任何东西都会导致一些错误消息。
将它与其他示例中的代码混合,我想出了这个:
var testStore = new Gtk.ListStore ();
testStore.append ([0, "test1"]);
testStore.append ([1, "test2"]);
var cbox = Gtk.ComboBox.new_with_model (testStore);
var cellRenderer = new Gtk.CellRendererText ();
cbox.pack_start (cellRenderer, true);
cbox.add_attribute (cellRenderer, "text", 1);
cbox.show ();
它的优点是它可以准确地显示一些东西,例如组合框充满了可以选择的列表项 - 但它们都是空的。只是白色中的白色块。
有任何想法吗?