Come fare Esc chiave per minimizzare una finestra? Di default si chiude. Devo processare KeyEvent
o c'è un modo migliore?Qt - Esc non dovrebbe chiudere la finestra di
risposta
penso che è possibile utilizzare questo:
MyDialog::keyPressEvent(QKeyEvent *e) {
if(e->key() != Qt::Key_Escape)
QDialog::keyPressEvent(e);
else {/* minimize */}
}
hanno anche uno sguardo al Events and Event Filters docs.
penso che per fare questo, si sarebbe in sostanza dovrà evitare che eredita da QDialog
. The documentation for QDialog
dice:
fuga chiave
Se l'utente preme il tasto Esc in una finestra di , QDialog :: rifiutare() sarà chiamato . Ciò causerà la chiusura della finestra a : l'evento di chiusura non può essere ignorato.
belle docs Tyler! perché non scavalcare invece di evitare di ereditare? – n611x007
Le chiamate di emergenza rifiutano(). Sovrascrivo questa funzione (nel mio caso, non per ridurre al minimo la finestra di dialogo, ma per chiedere di salvare)
void MyDialog::reject() {if(cleanupIsOK()) done(0);}
Al_
Rinominare lo scarto è corretto. Ma fai attenzione perché se vuoi chiudere la finestra di dialogo in un altro modo non puoi chiamare chiudi.
MyDialog::reject(){
if(some_closing_condition)
{
QDialog::reject() //calls the default close.
}
else
{
//skip reject operation
}
}
- 1. Come viene gestita la chiave "Esc" nella finestra WPF?
- 2. Come si ottiene il tasto ESC per chiudere una finestra di dialogo in Winforms?
- 3. Qt QMainWindow a chiudere
- 4. Come posso chiudere un buffer senza chiudere la finestra?
- 5. Qt, la finestra di dialogo non modale non si chiude da sola
- 6. Come chiudere correttamente un programma Qt?
- 7. Impossibile chiudere manualmente la finestra plot matplotlib
- 8. Chiudere la finestra non uccide tutti i processi
- 9. Funzione per chiudere la finestra in Tkinter
- 10. Come chiudere la finestra GLUT senza terminare l'applicazione?
- 11. Avvio di SweetAlert per impedire all'utente di chiudere la finestra
- 12. L'applicazione iPhone dovrebbe chiudere, non andare in background
- 13. Qt C++ minimizza e ingrandisce la finestra
- 14. Java: come impedire a WindowClosing di chiudere effettivamente la finestra
- 15. Bootstrap su Twitter: come chiudere la finestra di dialogo modale?
- 16. Come chiudere una finestra di Kendo dal contenuto della finestra?
- 17. PySide/PyQt rileva se l'utente tenta di chiudere la finestra
- 18. Come chiudere la finestra di dialogo da viewmodel (Caliburn + WPF)?
- 19. Come chiudere una finestra popup di Liferay.util.openWindow?
- 20. Finestra di dialogo Qt senza icona finestra (menu di sistema)
- 21. programmazione chiudere la finestra creata da `View (x)`
- 22. Electron.js Come minimizzare/chiudere la finestra sulla barra delle applicazioni e ripristinare la finestra dal vassoio?
- 23. Disabilita Esc close per colorbox
- 24. Come creare una finestra Qt come una finestra di messaggio?
- 25. Come chiudere la finestra del browser in AngularJS
- 26. Come chiudere la finestra genitore da suo figlio?
- 27. Come chiudere la finestra con il suo nome?
- 28. Come chiudere la finestra divisa/editor adiacente - Xcode 4
- 29. Miglior widget Qt da utilizzare per la finestra delle proprietà?
- 30. Qt, finestra di dialogo Color Picker?
Potresti voler dire esattamente le cose opposte nell'istruzione if-else. – Narek
Hm, penso che sia corretto: IF (non Excape) {/ * ignore * /} ELSE {/ * hide * /} – mosg
Per favore, puoi cambiare la tua password come segue. Grazie! void MyDialog :: keyPressEvent (QKeyEvent * e) {if (e-> key()! = Qt :: Key_Escape) QDialog :: keyPressEvent (e); else/* minimizza * /} – Narek