Как сделать клавишу Esc для уменьшения диалогового окна? По умолчанию это закрывается. Если я обрабатываю KeyEvent
или существует лучший путь?
Думаю, вы можете использовать это:
MyDialog::keyPressEvent(QKeyEvent *e) {
if(e->key() != Qt::Key_Escape)
QDialog::keyPressEvent(e);
else {/* minimize */}
}
Также посмотрите документы Events and Event Filters docs.
Я думаю, что для этого вам придется избегать наследования от QDialog
. В документации к QDialog
говорится:
Escape Key
Если пользователь нажимает клавишу Esc в диалоге, будет вызван QDialog::reject(). вызывается. Это приведет к тому, что окно закрывается: Событие закрытия не может быть проигнорировано.