いくつかのPyGTK チュートリアルに従って、gjs (Gnome デスクトップのネイティブ JavaScript) でコンボ ボックスを埋めようとしています。
これまでのところ、どちらもほとんど機能する 2 つの同様の方法を思いつきました。
最初のものは、おそらくチュートリアルの例に最も近いものです:
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 ();
何かを実際に表示するという利点があります。たとえば、コンボボックスは選択可能なリスト項目で満たされていますが、それらはすべて空です。白の中の白のブロックだけ。
何か案は?