Come connettere pyqtSignal
tra due oggetti diversi (classi) CORRETTAMENTE? Intendo le migliori pratiche.Come connettere pyqtSignal tra le classi in PyQT
Guardate quello che ho fatto per raggiungere l'obiettivo: La classe Thermometer
viene notificato quando Pot
aumenta la sua temperatura:
from PyQt4 import QtCore
class Pot(QtCore.QObject):
temperatureRaisedSignal = QtCore.pyqtSignal()
def __init__(self, parent=None):
super(Pot, self).__init__(parent)
self.temperature = 1
def Boil(self):
self.temperature += 1
self.temperatureRaisedSignal.emit()
def RegisterSignal(self, obj):
self.temperatureRaisedSignal.connect(obj)
class Thermometer():
def __init__(self, pot):
self.pot = pot
self.pot.RegisterSignal(self.temperatureWarning)
def StartMeasure(self):
self.pot.Boil()
def temperatureWarning(self):
print("Too high temperature!")
if __name__ == '__main__':
pot = Pot()
th = Thermometer(pot)
th.StartMeasure()
O c'è alcun/modo più semplice migliore per farlo?
Insisto anche (se possibile) sull'uso di segnali PyQt in stile "nuovo".