set_text 在Python-GTK3 中设置入口文本的位置在哪里?
Where is set_text to set an entry text in Python-GTK3?
在以前的 pyGTK 中,您可以使用 combobox.set_title(text) 来设置输入组合框的文本。现在在 Python-GTK3 中它似乎不起作用并且 example 不包括设置它。在这种情况下是否有设置选择的新方法?
正如@Rawing 评论的那样,这个问题有点混乱,但目标似乎是:将文本设置在 Gtk.ComboBox 上并带有条目。
pyGTK 和 Gtk+ 2 有 set_title
方法。 Gtk+ 3 also had 到 3.10 版,但如评论所述,它已被弃用。不管怎样,这个方法在两个版本上都做了同样的事情,那就是:“Sets the menu's title in tearoff mode”,这与条目。
表示example使用了Gtk.ComboxBoxwith型号。要设置条目的内容,我们可以设置模型中的活动项目,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.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 将显示设置的文本。
虽然文本不会出现在模型中。
在以前的 pyGTK 中,您可以使用 combobox.set_title(text) 来设置输入组合框的文本。现在在 Python-GTK3 中它似乎不起作用并且 example 不包括设置它。在这种情况下是否有设置选择的新方法?
正如@Rawing 评论的那样,这个问题有点混乱,但目标似乎是:将文本设置在 Gtk.ComboBox 上并带有条目。
pyGTK 和 Gtk+ 2 有 set_title
方法。 Gtk+ 3 also had 到 3.10 版,但如评论所述,它已被弃用。不管怎样,这个方法在两个版本上都做了同样的事情,那就是:“Sets the menu's title in tearoff mode”,这与条目。
表示example使用了Gtk.ComboxBoxwith型号。要设置条目的内容,我们可以设置模型中的活动项目,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.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 将显示设置的文本。
虽然文本不会出现在模型中。