自定义了一个QDialog窗口,需要接收快捷键enter确认;一开始发现无法接收enter健,其他健可以;
1. QDialog 的构造函数设置为setFocusPolicy(Qt::StrongFocus);
2.将Dialog上的QPushButton的focusPolicy设置为Qt::NoFocus。
3.设置按键响应函数,包含头文件
#include <QKeyEvent>
void ConfirmDialog::keyPressEvent(QKeyEvent *event) { if (event->key() == Qt::Key_Escape) { ui.pushButtonCancel->clicked(); } else if (event->key() == Qt::Key_Return) { ui.pushButtonConfirm->clicked(); } }
大键盘上的回车键是Qt::Key_Return;
小键盘上的回车键是Qt::Key_Enter;
标签:Qt,enter,QDialog,Key,按键,接收,event From: https://www.cnblogs.com/bclshuai/p/17189014.html