Seite 1 von 1

[gelöst]Signal Slot mit Array

Verfasst: 15. September 2009 22:42
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.

Verfasst: 15. September 2009 23:00
von schubc
Nimm doch ne QStringList, die ist als Array von Strings gedacht.

Verfasst: 15. September 2009 23:03
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.

Verfasst: 15. September 2009 23:08
von schubc
QList<QStringList> ?
^^

Verfasst: 16. September 2009 07:26
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.

Verfasst: 16. September 2009 10:29
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.

Verfasst: 16. September 2009 10:43
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.

Verfasst: 16. September 2009 10:48
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 :)

Verfasst: 16. September 2009 10:55
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.

Verfasst: 16. September 2009 11:05
von Christian81
Das passt schon - meist gebe ich nur auf dumme/faule Fragen dumme/faule Antworten :)

Verfasst: 16. September 2009 11:34
von John Darius
Btw: Es kann gerne jemand [gelöst] vor das Thema schreiben ;-)

Verfasst: 16. September 2009 11:45
von AuE
Das musst du machen in dem du deinen ersten Beitrag editierst und dort die Überschrift änderst