0

いくつかの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 ();

何かを実際に表示するという利点があります。たとえば、コンボボックスは選択可能なリスト項目で満たされていますが、それらはすべて空です。白の中の白のブロックだけ。

何か案は?

4

1 に答える 1