Você está aqui: Qt ::: Classes, Controles e Componentes ::: QMainWindow |
Aprenda a detectar o tratador de evento closeEvent() em uma janela QMainWindowQuantidade de visualizações: 6672 vezes |
O tratador de evento closeEvent() de uma janela QMainWindow é chamado quando a janela recebe uma requisição para ser fechada. Isso é geralmente feito por uma janela de nível mais alto. Veja a assinatura deste tratador de evento: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- void QWidget::closeEvent(QCloseEvent* event) [virtual protected] Note que o tratador de evento closeEvent() recebe como argumento um objeto da classe QCloseEvent. Note também que o tratador é virtual e protected, o que significa que devemos reimplementá-lo nas classes nas quais desejamos tirar proveito do mesmo. Por padrão, este evento é aceito e a janela é fechada. Podemos reimplementar esta função se desejarmos que a janela responda de forma diferente à solicitação de fechamento. Veja um trecho de código no qual apenas avisamos o usuário de que a janela vai ser fechada: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- void JanelaPrincipal::on_pushButton_clicked() { // vamos fechar a janela atual this->close(); } void JanelaPrincipal::closeEvent(QCloseEvent* ce) Se quisermos evitar o fechamento da janela só precisamos efetuar uma chamada ao método ignore() da classe QCloseEvent, herdado por esta da classe QEvent. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- void JanelaPrincipal::on_pushButton_clicked() { // vamos fechar a janela atual this->close(); } void JanelaPrincipal::closeEvent(QCloseEvent* ce) { // #include <QtGui/QCloseEvent> Um bom uso do tratador de evento closeEvent() é quando queremos perguntar ao usuário se ele deseja salver seu trabalho antes que a janela seja fechada. |
![]() |
Veja mais Dicas e truques de Qt |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |