Enter退出問題
我新建了一個QDialog窗口,里面有多個QLabel和QSpinBox和一個Exit退出按鈕,但是編輯完QSpinBox按回車后窗口就馬上退出了,后來發現是按鈕默認設置成了StrongFocus的原因。
解決方法:
設置窗口中的退出按鈕的focusPolicy
屬性為NoFocus
Esc退出問題
需要重寫QDialog的keyPressEvent()
:
#include <QKeyEvent>
void MyDialog::keyPressEvent(QKeyEvent *event)
{
switch (event->key())
{
case Qt::Key_Escape: // 按下的為Esc鍵
break; // 不做反應直接退出
default:
QDialog::keyPressEvent(event);
}
}