Unterschied SIGNAl und pyqtSignal

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Daniel26
User
Beiträge: 26
Registriert: Freitag 2. Juni 2017, 09:29

Hallo,

ich stehe gerade auf dem Schlauch....

Ich versuche ein Signal zu emitieren und diesem ein dict mitzugeben.

Dabei bin ich jetzt über pyqtSignal gestolpert.
Wo ist denn der Unterschied zwischen pyqtSignal und QtCore.Signal?

Gruß

Daniel
__deets__
User
Beiträge: 14543
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das eine ist alt und umständlich, das andere neuer und einfacher. Benutz pyqtSignal.
Daniel26
User
Beiträge: 26
Registriert: Freitag 2. Juni 2017, 09:29

Ok, danke.
Versuch...
Ich hab ein QRunnable, das ich in einen Threadpool schicke.
Dieses QRunnable startet eine SSH-VErbindung durch paramiko und erzeugt ein Dictionary, dass ich mit dem Signal übergeben will.

Code: Alles auswählen

class update_thread(QRunnable):
    def __init__(self,slave,ip,dir):
        self.thread_dict=slave
        self.thread_ip=ip
        self.thread_dir=dir
        self.resultx=pyqtSignal(object)

    def run(self):
        self.thread_dict["stdin"],self.thread_dict["stdout"], self.thread_dict["stderr"]=self.thread_dict["ssh_session"].exec_command('/root/update_slave ' + str(self.thread_ip) + " " + str(self.thread_dir))
        self.resultx.emit(self.thread_dict)
Hier fall ich jetzt auf die Nase weil "resultx" angeblich kein "emit" hat.
Was mach ich da falsch?

Gruß

Daniel
Zuletzt geändert von Daniel26 am Freitag 22. November 2019, 11:32, insgesamt 1-mal geändert.
__deets__
User
Beiträge: 14543
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du benutzt pyqtSignal falsch. Hast du die Dokumentation dazu mal gelesen? Wo das hinkommt? Steht das im Konstruktor? Oder ggf woanders?

Und das Forum hier hat eine Vorschaufunktion. Damit kann man sehen, ob der eigene Post aussieht wie geplant.
Antworten