如果我在 pyGTK 中有一个组合框,并且想要设置一个字符串列表,然后单击其中一个激活命令,我该怎么做?
目前我有:
self.combo_key = gtk.Combo()
self.combo_key.set_popdown_strings(self.keys)
self.combo_key.entry.set_text(db.keys()[0])
self.combo_key.entry.connect("activate", self.key_sel)
但是“activate”
仅在选择后调用,然后按回车键。我还收到了 gtk.Combo()
的弃用警告,但找不到有关使用 gtk.ComboBoxEntry()
大家有什么帮助吗?
最佳答案
尝试使用gtk.ComboBox
而不是gtk.Combo
,因为后者已被弃用,有利于前者。要初始化,您可以编写如下代码:
liststore = gtk.ListStore(gobject.TYPE_STRING)
for key in self.keys:
liststore.append((key,))
combobox = gtk.ComboBox(liststore)
cell = gtk.CellRendererText()
combobox.pack_start(cell, True)
combobox.add_attribute(cell, 'text', 0)
现在您连接到 changed
combobox
的信号并使用其 get_active()
方法来询问所选择的项目。
正如您可能从这个解释中猜到的那样,ComboBox 并不是专门为此目的而设计的。您可能想使用 gtk.Menu
.
关于python - PyGtk - 激活组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4065680/