Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyGtk-激活组合框_Python_Combobox_Gtk_Pygtk - Fatal编程技术网

Python 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) 但是

如果我在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)
但是
“激活”
仅在选择后调用,然后按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