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

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
AngelusNoctis
User
Beiträge: 92
Registriert: Sonntag 16. Dezember 2007, 20:03

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 &)'))
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Es wurde extra ein neues Feature eingeführt, welches pythonischer ist, intuitiver und nur die halbe Menge ans Schreibarbeit. Was denkst du? ;-)
Das Leben ist wie ein Tennisball.
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.“
AngelusNoctis
User
Beiträge: 92
Registriert: Sonntag 16. Dezember 2007, 20:03

O.k. Also New-Style...

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