pygtk覚え書き gtk.ComboBox
gtk.Comboを使ってコンボボックスを作り、ターミナルで実行したら、何やらワーニングが表示されていました。
どうやら、「gtk.ComboBoxのほうを使ってね」のような感じ。
ということで、gtk.ComboBoxでコンボボックスを作ってみたのですが、いまいちピントこない部分がありました。
一応解決したので、覚え書きとして。
まず、コンボボックスを作成する方法で、一番簡単な方法は、
combo = gtk.combo_box_new_text()
次に、項目を追加する方法は
combo.append_text(text)
ここからがつまづいたところ。
コンボボックスの項目を全て削除するには
model = combo.get_model() mode.clear()
クリアした後で、再度テキストを登録するには
for text in ['aaaa', 'bbbb', 'cccc']: rowIter = model.append([gobject.TYPE_STRING]) model.set(rowIter, 0, text) cell = gtk.CellRendererText() cell.set_property('text', text)
でうまくいきました。
コンボボックスのmodelを取得してclear()を行うとCellRendererも一緒になくなってしまうので、
CellRendererも追加しなおしてあげる必要があるということに気がつくのに時間がかかってしまいました。
いやいや、今日もいい勉強になりました。