이전 pyGTK에서는 combobox.set_title (텍스트)를 사용하여 콤보 상자에 입력 된 텍스트를 설정할 수있었습니다. 이제는 파이썬 -GTK3에서 작동하지 않는 것 같고 example에는 설정이 포함되어 있지 않습니다. 이 경우 선택을 설정하는 새로운 방법이 있습니까?파이썬 -GTK3에서 입력 텍스트를 설정하기 위해 set_text는 어디에 있습니까?
답변
@Rawing이 주석을 달았으므로 약간 혼란 스럽지만 목표는 Gtk.ComboBox의 텍스트를 항목으로 설정하는 것입니다.
pyGTK 및 Gtk + 2는 set_title
방법을 갖는다. Gtk+ 3 also had 최대 버전 3.10이지만 댓글이 달림에 따라 더 이상 사용되지 않습니다. 어쨌든이 방법은 두 버전 모두에서 동일하게 적용됩니다. "티아로 모드에서 메뉴 제목을"으로 설정합니다.이 항목은 항목과 관련이 없습니다.
표시된 example은 모델과 함께 Gtk.ComboxBox를 사용합니다. 항목의 내용을 설정하기 위해 모델에서 활성 항목을 설정할 수 있으며 Gtk.Entry는 해당 항목의 텍스트를 표시하여이를 반영합니다.
이처럼 example 코드에 name_combo.set_active (1)
를 추가하는 경우 :
...
name_combo = Gtk.ComboBox.new_with_model_and_entry(name_store)
name_combo.connect("changed", self.on_name_combo_changed)
name_combo.set_entry_text_column(1)
name_combo.set_active (1) # ADD THIS LINE <--------------------
vbox.pack_start(name_combo, False, False, 0)
....
당신은 Gtk.ComboBox에서 Gtk.Entry이 모델의 텍스트로 채워질 것이라는 점을 확인합니다.
Gtk.Entry를 직접 처리하려면 Gtk.ComboBox inherited get_child
메서드 (Gtk.Bin의)를 사용할 수 있습니다. 당신이 그것을 실행할 때 위와 같이 예를 변경하는 경우
name_combo = Gtk.ComboBox.new_with_model_and_entry(name_store)
name_combo.connect("changed", self.on_name_combo_changed)
name_combo.set_entry_text_column(1)
name_combo.get_child().set_text ("Hello World") # <-------------- HERE
vbox.pack_start(name_combo, False, False, 0)
에서, Gtk.Entry가 세트로 텍스트를 표시합니다 : 그럼 당신은 Gtk.Entry set_text
방법, 예를 사용할 수 있습니다.
텍스트는 모델에 포함되지 않습니다.
"tearoff mode"란 무엇입니까? GTK3 +/Python의 설명서를 작성해야합니다. – NoBugs
@NoBugs Tearoff 메뉴는 일부 ui 항목을 분리 할 수있는 레거시 모드의 일종이며 고유 한 창을 갖습니다. 설정된 제목 메서드는 해당 모드에있을 때 창의 제목을 설정하는 데 사용되었습니다. 사용되지 않는 [tearoff 메뉴 항목] (https://developer.gnome.org/gtk3/stable/GtkTearoffMenuItem.html) 설명을 확인하십시오. 그 ux 상호 작용은 서서히 중단되고 사용되지 않습니다. :) 감사와 행운을 빕니다 –
제목에서'set_text'라고 말했고 질문 본문을'set_title'으로 변경했습니다. 어떤 기능에 대해 묻고 있습니까? 그 기능은 정확히 무엇입니까? 나는 GtkEntries를위한'set_title' 함수를 들어 본 적이 없다. –
[docs] (https://developer.gnome.org/gtk3/stable/GtkComboBox.html#gtk-combo-box-set-title)에 따르면'set_title' 함수는 더 이상 사용되지 않습니다 (대안 없음). –