如何使Enter键盘键不触发QPushButton

时间:2017-05-16 15:01:28

标签: python pyqt qpushbutton

下面的代码创建一个带有5个按钮的单个对话框窗口。每个按钮都连接到onClick功能。如果我点击“输入”#39;键盘键触发其中一个按钮并执行onClick功能。

如何更改按钮属性,以便按钮仅在单击时调用onClick功能并且不响应Enter键盘键?

enter image description here

from PyQt4 import QtGui 

def onClick():
    print 'button clicked'

dialog = QtGui.QDialog()
dialog.setLayout(QtGui.QVBoxLayout())
for i in range(5):
    btn = QtGui.QPushButton('Button %03d'%i)
    btn.clicked.connect(onClick)
    dialog.layout().addWidget(btn)
dialog.show()

1 个答案:

答案 0 :(得分:2)

default的{​​{1}}和autoDefault属性设置为False。 E.g。

QPushButtons

您正在观察的是QDialog对输入键的特殊处理以触发默认'dialog action'(使用QDialog时常见问题)。