2012-08-10 3 views
0

나는 문자열 간단한 콤보 상자 만들 this manual을 읽고 :GTK3를 사용하여 파이썬에서 콤보 박스를 만드는 방법은 무엇입니까?

를하지만 내 응용 프로그램을 시작할 때이 메시지가 얻을 :

(button.py:7646): Gtk-CRITICAL **: gtk_entry_set_text: assertion `text != NULL' failed 

그리고 콤보 상자가 나타납니다하지만 항목 (유일한 항목을

class Ventana(Gtk.Window): 
    def __init__(self): 
     Gtk.Window.__init__(self,title="Test Window") 
     paises=Gtk.ListStore(int,str) 
     paises.append([1,"test"]) 

     combo=Gtk.ComboBox.new_with_model_and_entry(paises) 
     combo.set_active(0) 
     self.add(combo) 

답변

3

이 set_entry_text_를 호출하여 콤보에 대한 항목을 설정 : 내가 추가 해요)하지 이건 내 소스

표시 할 대신 열 (열) combo.set_active (0)

class Ventana(Gtk.Window): 
    def __init__(self, title = "Test"): 
     Gtk.Window.__init__(self,title="Test Window") 
     paises=Gtk.ListStore(int,str) 
     paises.append([1,"test"]) 

     combo=Gtk.ComboBox.new_with_model_and_entry(paises) 
     combo.set_entry_text_column(1) 
     self.add(combo) 

참조 : http://python-gtk-3-tutorial.readthedocs.org/en/latest/combobox.html?highlight=set_entry_text_column

+0

감사합니다 :)! 그 입장을 그만두는 건 어때? Gtk.ComboBox.new_with_model (paises) 만 사용 하시겠습니까? – rafuru

+1

늦게까지 죄송합니다. 그것은 또한 작동해야하지만 난 둘 다 오랜 시간 동안 파이썬이나 gtk도 사용하지 않았을 그래서 당신이 워드 프로세서를 확인하고 시도 해달라고 :) 그래서 당신은 그렇게 생각한다면 답변을 표시 할 수 있습니다. – NotCamelCase

+0

내가 읽었습니다 하룻밤 hahaha 마지막으로 셀 렌더러를 사용하는 방법을 발견 :) 감사합니다 !! – rafuru