下面的代码创建一个带有5个按钮的单个对话框窗口。每个按钮都连接到onClick
功能。如果我点击“输入”#39;键盘键触发其中一个按钮并执行onClick
功能。
如何更改按钮属性,以便按钮仅在单击时调用onClick
功能并且不响应Enter
键盘键?
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()
答案 0 :(得分:2)
将default
的{{1}}和autoDefault
属性设置为False。 E.g。
QPushButtons
您正在观察的是QDialog对输入键的特殊处理以触发默认'dialog action'(使用QDialog时常见问题)。