QcomboBox 使用 "ENTER" 事件

QcomboBox using "ENTER" event

在此用户中,从下拉菜单中选择项目,使用 "SEARCH" 按钮进行搜索。我想添加 "ENTER" 但作为此事件的快捷方式。请参考image.it会更清楚

一个简单的解决方案是使用 QShortcut,如下所示:

from PyQt4 import QtGui, QtCore

class Widget(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        lay = QtGui.QHBoxLayout(self)
        combo = QtGui.QComboBox()
        combo.addItems(["option1", "option2", "option3"])
        lay.addWidget(combo)
        lay.addWidget(QtGui.QPushButton("Press Me"))

        shortcut = QtGui.QShortcut(QtGui.QKeySequence(QtCore.Qt.Key_Return), combo, activated=self.onActivated)

    def onActivated(self):
        print("enter pressed")

if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    w = Widget()
    w.show()
    sys.exit(app.exec_())