python - 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)

但是“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/

相关文章:

python - "uncaught signal #9"是什么? TextMate、Python、MacOS

python - 如何运行 django sslserver(https) 使得网络中的远程系统也可以访问?

c# - 消除数据绑定(bind)组合框中的空字符串值 C#

qt - 将 GLFW 和 OpenGL 用于 GUI 的限制

c - 如何在 Gtk 2 窗口上创建 cairo_t

python - 将 Glade 文件中的小部件添加到 Python 中 gtk.Window 的子类。如何?

python - 正则表达式查找单词形式的大数字

Python 将所有其他内容压缩到同一文件中

java - 从 swing jCombobox 迁移到 javaFX ComboBox

c - 在 win32 中调整组合框的大小(更改宽度)