Python PyGtk-激活组合框
如果我在pyGTK中有一个组合框,并且想设置一个字符串列表,然后单击其中一个激活一个命令,我将如何做 目前我有:Python PyGtk-激活组合框,python,combobox,gtk,pygtk,Python,Combobox,Gtk,Pygtk,如果我在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) 但是
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)
但是“激活”
仅在选择后调用,然后按enter键。我还收到了一条关于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
信号,并使用其get\u active()
方法请求所选项目
正如您可能从这个解释中猜到的,组合框并不是专门为这个目的设计的。您可能想使用gtk.Menu