Você está aqui: Qt ::: Classes, Controles e Componentes ::: QMainWindow |
Aprenda a detectar o tratador de evento closeEvent() em uma janela QMainWindowQuantidade de visualizações: 6717 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: 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: void JanelaPrincipal::on_pushButton_clicked() { // vamos fechar a janela atual this->close(); } void JanelaPrincipal::closeEvent(QCloseEvent* ce) { // vamos avisar do fechamento da janela QMessageBox::information(this, "Aviso", "A janela vai ser fechada agora."); } 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: void JanelaPrincipal::on_pushButton_clicked() { // vamos fechar a janela atual this->close(); } void JanelaPrincipal::closeEvent(QCloseEvent* ce) { // #include <QtGui/QCloseEvent> // vamos evitar o fechamento da janela QMessageBox::information(this, "Aviso", "Esta janela não pode ser fechada."); // vamos ignorar o evento ce->ignore(); } 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 |
PHP - Programação Orientada a Objetos em PHP - Aprenda a criar e usar métodos e classes abstratas em PHP Java - Estruturas de dados em Java - Como obter a quantidade de nós em uma árvore binária usando Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |