在以前的pyGTK中,您可以使用combobox.set_title(text)设置输入到组合框中的文本。现在,在Python-GTK3中,它似乎不起作用,并且该示例不包含对其进行设置。在这种情况下,是否有新的方法来设置选择?
正如@Rawing所说,这个问题有些困惑,但目标似乎是:在Gtk.ComboBox上输入文本。
pyGTK和Gtk + 2具有该set_title
方法。Gtk + 3也具有最新的3.10版本,但如已评论,它已被弃用。无论如何,该方法在两个版本上都相同,那就是:“将菜单的标题设置为撕开模式”,这与条目无关。
所示示例使用带有模型的Gtk.ComboxBox。要设置条目的内容,我们可以设置模型中的活动项目,而Gtk.Entry将通过显示同一项目中的文本来反映该内容。
如果添加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继承的get_child
方法(来自Gtk.Bin)。然后,您可以使用Gtk.Entryset_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将按设置显示文本。
文本将不会出现在模型中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句