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_())
在此用户中,从下拉菜单中选择项目,使用 "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_())