1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import os,sys
# --- importation du fichier de description GUI ---
from ui_testLcd import *
# classe principale contenant le code actif
class myApp(QWidget, Ui_Form1): # la classe reçoit le Qwidget principal
# Note : ici self représente la classe
def __init__(self, parent=None):
QWidget.__init__(self) # initialise le Qwidget principal
self.setupUi(parent) # Obligatoire
self.Thread = ThreadAfficher(self)
self.Thread.jobDone.connect(self.afficherDonnee)
self.Thread.start()
def afficherDonnee(self,regime):
"""Affichage de la valeur regime dans le l'afficheur"""
self.lcdNumbe1r.display(regime)
class ThreadAfficher(QtCore.QThread):
"""objet thread gérant l'envoi de la valeur regime"""
jobDone = pyqtSignal(int)
def __init__(self,parent=None):
super(ThreadAfficher,self).__init__(parent)
def run(self):
while 1:
self.jobDone.emit(3200) #envoi d'une valeur à afficher
# fonction principale exécutant l'application Qt
def main(args):
a=QApplication(args) # crée l'objet application
f=QWidget() # crée le QWidget racine
c=myApp(f) # appelle la classe contenant le code de l'application
f.show() # affiche la fenêtre QWidget
r=a.exec_() # lance l'exécution de l'application
return r
# pour rendre le fichier *.py exécutable
if __name__=="__main__": # pour rendre le code exécutable
main(sys.argv) # appelle la fonction main |