[gelöst]Signal Slot mit Array

Alles rund um die Programmierung mit Qt
Antworten
John Darius
Beiträge: 8
Registriert: 20. April 2009 18:18

[gelöst]Signal Slot mit Array

Beitrag von John Darius »

Hallöchen.
Bin recht neu in QT und habe ein grundlegendes Problem in verbiindung mit dem Signal Slot Konzept.

Ich würde so gern ein Array vom Signal an den Slot senden. Theoretisch scheint es auch zu klappen, praktisch bleibt das Array beim Slot leer.
Hoffe jemand hat eine Idee.


Code: Alles auswählen

// die .h

...
private slots:
void  signal();
void	slot(QString[][13]);


signals:
void	callSlot(QString[][13]);

...

// die .cpp

...
connect(this, SIGNAL( callSlot(QString[][13]) ),
	this, SLOT( slot(QString[][13]) ) )
...
//SIGNAL


void x::signal() {
        QString array[99][13];
//array mit werten füllen
...

	emit callSlot(array);
}


//SLOT
void x::slot(QString p[][13])
{
	QMessageBox m;
	m.setText(p[0][5]);
	m.exec();
	}
Besten dank für eure Hilfe.
Lieben Gruß: Günter W.
Zuletzt geändert von John Darius am 16. September 2009 11:52, insgesamt 1-mal geändert.
schubc
Beiträge: 4
Registriert: 26. August 2009 19:57

Beitrag von schubc »

Nimm doch ne QStringList, die ist als Array von Strings gedacht.
John Darius
Beiträge: 8
Registriert: 20. April 2009 18:18

Beitrag von John Darius »

Hab ich auchs schon dran gedacht. Dann müsste ich aber meine schöne 2D Struktur auf eine Dimension runterbrechen, oder täusch ich mich da?

LG: Günter W.
schubc
Beiträge: 4
Registriert: 26. August 2009 19:57

Beitrag von schubc »

QList<QStringList> ?
^^
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

QString[][13] ist im Grunde nichts anderes als QString*. Des weiteren hat die Verwendung von QString[][13] absolut keinen Vorteil gegenüber QStringList oder QVector<QString>. Wenn C++ dann bitte richtig.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
John Darius
Beiträge: 8
Registriert: 20. April 2009 18:18

Beitrag von John Darius »

Erstmal danke an schubc, hast mir wirklich weitegeholfen.

Und lieber Christian81, was willst du mir mit dem Statment:
Wenn C++ dann bitte richtig.
sagen? Wie ich weiter oben breits beschrieb, bin ich noch neu in QT und CPP.
Wenn ich deine Aussage richtig deute, dann sollte niemand c++ benutzen der es nicht zu 100% beherrscht und da es noch keinen nürnberger Trichter gibt bleibt die Sprach dir allein vorbehalten?

Ich denke es sind solche unqualifizierten Kommentare die neue Forenuser abschrecken.


LG: Günter W.
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Glaube nicht das es so zu deuten ist - nur C++ hat den Vorteil der stl (bzw über Qt halt mit umwegen) und diese solltest du nutzen!

Sonst könnte man auch extern c funktionen weiter benutzen.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich meinte damit genau das was AuE sagte - es macht mehr Probleme wenn man in C++ alte 'C-Vorgehensweisen' benutzt. Und das C-Array ist definitiv nicht das was man sich als optimal vorstellt.
Also nimmer QStringList :)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
John Darius
Beiträge: 8
Registriert: 20. April 2009 18:18

Beitrag von John Darius »

Uh, da fällt mir n Stein vom Herzen, ich dachte schon ich sei schon wieder in so nem patzigen Forum gelandet^^

In diesem Fall entschuldige ich mich natürlich für meine etwas bissegen Kommentar.

LG: Günter W.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das passt schon - meist gebe ich nur auf dumme/faule Fragen dumme/faule Antworten :)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
John Darius
Beiträge: 8
Registriert: 20. April 2009 18:18

Beitrag von John Darius »

Btw: Es kann gerne jemand [gelöst] vor das Thema schreiben ;-)
LG: Günter W.
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Das musst du machen in dem du deinen ersten Beitrag editierst und dort die Überschrift änderst
Antworten