Sommaire

Utilisation de la classe QTimer Multithreading:QTimer

1. Introduction

L’usage d’un timer (chronomètre) peut permettre de décaler l’exécution d’un traitement. Typiquement, il est ainsi possible d’attendre x secondes pour lancer un calcul. Cette pratique peut donner de la fluidité à l’exécution d’une application fortement sollicitée, même si cette méthode atteint rapidement ses limites.

Pour illustrer l’utilisation de cette classe, prenons l’exemple de développement d’un petit afficheur de l’heure courante incluant les secondes.

2. Développement utilisant QTimer

Pour ce faire, nous allons instancier la classe QTimer en passant en paramètre une durée de une seconde. Ainsi, en utilisant l’évènement timeout, on affichera en fin de chaque seconde l’heure courante.

On commence évidemment par déclarer les imports.

import sys 
from PyQt5.QtWidgets import QVBoxLayout, QPushButton,QApplication, 
QLabel, QWidget 
from PyQt5.QtCore import Qtimer, QDateTime

Tout le code est dans la classe Fenetre qui hérite de QWidget. On commence par l’instancier.

if __name__ == ’__main__’: 
    app=QApplication(sys.argv) 
    fenetre=Fenetre() 
    fenetre.show() 
    sys.exit(app.exec_())

class Fenetre(QWidget):

Dans la méthode __init__, on définit la structure ...