[solved] Wie gebe ich die Funktion für den SLOT an?

Alles rund um die Programmierung mit Qt
Antworten
AndiLatte
Beiträge: 104
Registriert: 13. November 2007 13:39

[solved] Wie gebe ich die Funktion für den SLOT an?

Beitrag von AndiLatte »

xyz(int value) ---> SLOT xyz(int)

xyz(const QString &title) ----> xyz(???)

thx for help
Zuletzt geändert von AndiLatte am 15. Februar 2008 14:13, insgesamt 1-mal geändert.
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

const QString&
AndiLatte
Beiträge: 104
Registriert: 13. November 2007 13:39

Beitrag von AndiLatte »

PeterLustig hat geschrieben:const QString&
das compiliert zwar. löst aber dann die Fehlermeldung: incompatible sender/receiver arguments in der konsole aus
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Uhm sorry, dann weiß ich net. Oo Bei mir ging das letztes mal so, soweit ich mich erinnern kann... Dann erinner ich mich wohl falsch.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Die Defintion des Slots mit const QString & ist korrekt.
Beim connect sollte man aber QString verwenden. Steht aber auch in der DOKU :roll:
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
AndiLatte
Beiträge: 104
Registriert: 13. November 2007 13:39

Beitrag von AndiLatte »

Christian81 hat geschrieben:Die Defintion des Slots mit const QString & ist korrekt.
Beim connect sollte man aber QString verwenden. Steht aber auch in der DOKU :roll:
OK. Hatte es nach diesem Beispiel gecodet. http://sector.ynet.sk/qt4-tutorial/how- ... cepts.html
aber es funktioniert so leider nicht.
Ich connecte ein QAction mit dem SIGNAL triggered, aber der Button mag per SLOT und der funktion nichts ausführen.

Code: Alles auswählen

	playAct = new QAction(QIcon(":/data/buttons/control-play.png"), tr("Play"), this);
    	playAct->setStatusTip(tr(" showData"));
	connect(playAct, SIGNAL(triggered()), this, SLOT(play(const QString &)));
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Du kannst das Signal nicht mit dem Slot verbinden. Ich mein, welcher QString soll denn da übergeben werden? Es gibt doch garkeinen.
AndiLatte
Beiträge: 104
Registriert: 13. November 2007 13:39

Beitrag von AndiLatte »

PeterLustig hat geschrieben:Du kannst das Signal nicht mit dem Slot verbinden. Ich mein, welcher QString soll denn da übergeben werden? Es gibt doch garkeinen.
Macht Sinn! Soweit hatte ich auch gedacht nur keine lsg gefunden.
AndiLatte
Beiträge: 104
Registriert: 13. November 2007 13:39

Beitrag von AndiLatte »

dies hier: http://www.qtforum.de/forum/viewtopic.p ... 0c2d7367a3
habe ich auch gelesen/gefunden.
bevor es mir gleich jemand ans herz legt :wink:
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Die Lösung ist doch ganz einfach, entweder du willst einen leeren String übergeben, dann braucht dein Slot noch einen Default-Parameter, oder du willst nur einen String übergeben, dann kann dein Slot diese String selbst generieren oder du hast verschiedene Signale, die alle einen eigenen String übergeben sollen, dann kann man den QSignalMapper verwenden.
Antworten