Wie pyqtSignal zwischen Klassen in PyQT verbinden

Wie verbinde ich michpyqtSignal zwischen zwei verschiedenen Objekten (Klassen) RICHTIG? Ich meine Best Practice.

Sehen Sie, was ich getan habe, um das Ziel zu erreichen: DieThermometer class wird benachrichtigt, wennPot erhöht seine Temperatur:

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()

Oder gibt es eine einfachere / bessere Möglichkeit?

Ich bestehe auch (wenn möglich) darauf, PyQt-Signale im "neuen" Stil zu verwenden.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage