QcomboBox使用“ ENTER”事件

时间:2018-07-05 10:31:33

标签: python python-2.7 pyqt pyqt4 qcombobox

enter image description here

该用户从“下拉菜单”中选择项目,然后使用“搜索”按钮进行搜索。我想添加“ ENTER”但作为此事件的快捷方式。请参考图片。它将更加清晰。

1 个答案:

答案 0 :(得分:0)

一个简单的解决方案是使用一个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_())