class Dialog(QtWidgets.QDialog):
def keyPressEvent(self, event):
if ((not event.modifiers() and
event.key() == QtCore.Qt.Key_Return) or
(event.modifiers() == QtCore.Qt.KeypadModifier and
event.key() == QtCore.Qt.Key_Enter)):
event.accept()
else:
super(Dialog, self).keyPressEvent(event)
实际上,将所有按钮的默认值设置为
False
将不会影响。如果没有将任何按钮设置为默认值,则对话框将仅choose one automatically-因此无论您做什么操作,始终都将是默认值。在您可以通过重写对话框的
keyPressEvent
来更改此行为:但是,您应该注意,当一个按钮具有焦点时,按enter或return仍将正常激活它。默认的按钮机制只有在其他小部件有焦点但不包含keypress事件时才起作用(例如在行编辑中按return)。在
相关问题 更多 >
编程相关推荐