Seite 1 von 1

New Signal/Slot vs Old Signal/Slot? Vor und Nachteile?

Verfasst: Freitag 14. Dezember 2012, 19:40
von AngelusNoctis
Hi,

Also bisher hab ich nie gross über Signal/Slot nachgedacht sondern immer den normalen Old-Style genutzt.

Letztens ist mir z.B. aufgefallen dass der Old-Style abbricht weil "passItem" kein QObject ist sondern ein QTreeWidgetItem.

Nun stellt sich mir die Frage, welchen "Style" sollte man am besten nutzen und welcher hat mehr Vorteile?

Also was sagt ihr?

New-Style funktioniert

Code: Alles auswählen

thread.currentPass.connect(passItem.setText)
Old-Style funktioniert nicht

Code: Alles auswählen

self.connect(thread, QtCore.SIGNAL('currentPass(str)'), passItem, QtCore.SLOT('setText(const QString &)'))

Re: New Signal/Slot vs Old Signal/Slot? Vor und Nachteile?

Verfasst: Freitag 14. Dezember 2012, 20:13
von EyDu
Es wurde extra ein neues Feature eingeführt, welches pythonischer ist, intuitiver und nur die halbe Menge ans Schreibarbeit. Was denkst du? ;-)

Re: New Signal/Slot vs Old Signal/Slot? Vor und Nachteile?

Verfasst: Freitag 14. Dezember 2012, 23:24
von lunar
@AngelusNoctis Die Vor- und Nachteile sind in der Dokumentation erläutert. Ich denke, daran wird klar, welcher API man sich bedienen sollte, insbesondere wenn man folgenden Nachteil der alten API bedenkt: „It is error prone in that if you mis-type the signal name or signature then no exception is raised, either when the signal is connected or emitted.“

Re: New Signal/Slot vs Old Signal/Slot? Vor und Nachteile?

Verfasst: Samstag 15. Dezember 2012, 18:07
von AngelusNoctis
O.k. Also New-Style...

Ich hab immer den Old-Style benutzt weil ich irgendwie möglichst nahe am "Original" sein wollte also CPP.