Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesCódigo-Fonte 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
Você está aqui: Qt ::: Classes, Controles e Componentes ::: QTimer

Aprenda a usar a classe QTimer em seus programas Qt

Quantidade de visualizações: 7544 vezes
A classe QTimer pode ser usada em nossos programas Qt quando precisamos criar timers, ou seja, ações que serão executadas repetidamente ou somente uma vez após decorrido um determinado tempo. Para usar esta classe devemos adicionar a linha:

#include <QTimer>
......


à nossa seção de includes.

Para criar timers usando a classe QTimer nós só precisamos criar um objeto desta classe, conectar seu sinal (signal) timeout() aos slots apropriados e efetuar uma chamada ao seu método start(). A partir daí o objeto timer emitirá o sinal timeout() em intervalos constantes.

Veja um trecho de código no qual usamos um objeto da classe QTimer para exibir e atualizar constantemente as horas em um componente QLabel:

JanelaPrincipal::JanelaPrincipal(QWidget *parent) : QMainWindow(parent)
{
  ui.setupUi(this);

  // declaração no arquivo .h
  // QTimer *timer;

  timer = new QTimer(this);
  connect(timer, SIGNAL(timeout()), this, SLOT(atualizarHoras()));
......


Podemos fazer com que um timer seja disparado somente uma vez por meio de uma chamada ao método setSingleShot(true). Podemos ainda chamar o método estático QTimer::singleShot() para chamar um slot (uma única vez) depois de um tempo decorrido. Veja:

QTimer::singleShot(1000, this, SLOT(atualizarHoras()));
......


Em aplicações multithreaded podemos usar a classe QTimer em qualquer thread que tenha um laço de eventos (event loop). Para iniciar o laço de eventos em uma thread não-GUI, devemos usar QThread::exec(). Neste caso o Qt usa a identificação da thread para determinar qual thread emitirá o sinal timeout(). Por causa disso, devemos iniciar e parar o timer em sua própria thread. Não é possível iniciar um timer a partir de outras threads.

Alternativas ao QTimer

Uma alternativa ao uso da classe QTimer é chamar o método QObject::startTimer() para seu objeto e reimplementar o tratator de evento QObject::timerEvent() em suas classes (que deverão herdar de QObject). A desvantagem desta abordagem é que timerEvent() não suporta recursos de alto nível, tais como disparos únicos ou signals.

Uma outra alternativa ao uso do QTimer é usar a classe QBasicTimer. Esta classe é geralmente menos complicada que o uso do método QObject::startTimer() diretamente.

Alguns sistemas operacionais limitam o número de timers que podem ser usados. O Qt Framework tenta fornecer meios para evitar tal limitação.

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de Qt

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 25 usuários muito felizes estudando em nosso site.