Você está aqui: Qt ::: Classes, Controles e Componentes ::: QMainWindow |
Aprenda a detectar o tratador de evento closeEvent() em uma janela QMainWindowQuantidade de visualizações: 6617 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) { // 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: ---------------------------------------------------------------------- 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> // 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. |
Link para compartilhar na Internet ou com seus amigos: |
Vamos testar seus conhecimentos em Hidrologia |
(IDECAN - 2021 - Perito Criminal de 1ª Classe (PEFOCE)/Engenharia Civil) O aparelho utilizado para medição e registro de precipitações é o A) pluviômetro. B) fluviógrafo. C) pluviógrafo. D) limnímetro. E) limnígrafo. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Perda de Carga Localizada, Acessórios de Tubulação Considerando a questão: "Qual a perda de carga singular em um conduto de 100 m, diâmetro de 100 mm, com um fluido escoando a 2 m/s, apresentando as seguintes singularidades rosqueadas na tubulação: válvula globo totalmente aberta e cotovelo de 45º com raio normal?". Qual o erro relativo da perda de carga linear em comparação com a perda de carga total? A) 0,08%. B) 4,30%. C) 8,28%. D) 9,00%. E) 0,09%. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Sistema de Coordenadas no Civil 3D Na janela Drawing Settings do AutoCAD Civil 3D, qual aba usamos para definir ou alterar o sistema de coordenadas do desenho? A) Units and Zone B) Transformation C) Ambient Settings D) Object Layers Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
O projeto de instalação hidrossanitária Um projeto de instalações hidrossanitárias é composto por redes hidráulicas (constituído de água fria e água quente), bem como redes sanitárias (esgoto), ventilação e rede pluvial. Para obras de grande porte, o projeto de proteção contra incêndio também está englobado no projeto de instalação hidrossanitária. Sobre as instalações hidrossanitárias em uma obra de pequeno porte, assinale a afirmativa correta: A) No projeto de esgotamento, a fossa séptica é aplicada para que as águas servidas convertam totalmente a matéria orgânica em gases. B) Alterações de percurso e de extensão não afetam o dimensionamento dos tubos de abastecimento de água, desde que não exista alteração de diâmetro. C) O shaft normalmente é acessível por painéis removíveis ou aberturas que permitem a verificação horizontal do abastecimento de todos os pavimentos do edifício em um só local. D) Um dos papéis do fecho hídrico do sifão sanitário é barrar a passagem de gases (odores) para o ambiente. E) É recomendável que se utilize o diâmetro mínimo de 100mm em toda a tubulação para evitar entupimentos. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Analise o seguinte código JavaScriptvar palavra = 'b' + 'a' + + 'a' + 'a'; palavra = palavra.toLowerCase(); document.write(palavra); Qual é o resultado de sua execução? A) baaa. B) banana. C) anana. D) bananas. E) Um erro de execução. Verificar Resposta Estudar Cards Todas as Questões |
Veja mais Dicas e truques de Qt |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |