在以前的pyGTK中,您可以使用combobox.set_title(text)设置输入到组合框中的文本。现在,在Python-GTK3中,它似乎不起作用,并且example不包括对其进行设置。在这种情况下,是否有一种新的方法来设置选择?
最佳答案
正如@Rawing所说,这个问题有些困惑,但目标似乎是:在Gtk.ComboBox上输入文本。
pyGTK和Gtk + 2具有set_title
方法。 Gtk+ 3 also had直到版本3.10,但已注释,已弃用。无论如何,该方法在两个版本上都相同,那就是:“将菜单标题设置为撕开模式”,这与条目无关。
指示的example使用带有模型的Gtk.ComboxBox。要设置条目的内容,我们可以设置模型中的活动项目,而Gtk.Entry将通过显示同一项目中的文本来反映该内容。
如果将name_combo.set_active (1)
添加到example代码,如下所示:
...
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继承的
get_child
方法(来自Gtk.Bin)。然后,您可以使用Gtk.Entry set_text
方法,例如: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将按设置显示文本。
文本将不会出现在模型中。
关于python - set_text在哪里设置Python-GTK3中的输入文本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46500595/