ObjektArray

Alles rund um die Programmierung mit Qt
Antworten
Toni Tornado
Beiträge: 11
Registriert: 4. September 2006 14:05

ObjektArray

Beitrag von Toni Tornado »

Hab ne Frage, kann ich mit QVector auch nen dynamsiches Array von QLineEdit anlegen ? wenn ja, wie kann ich dann "this" an den QLineEditKonstruktor übergeben ?

MFG
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: ObjektArray

Beitrag von Christian81 »

Toni Tornado hat geschrieben:Hab ne Frage, kann ich mit QVector auch nen dynamsiches Array von QLineEdit anlegen ?
Ein QVector<QLineEdit*> ist natürlich möglich, warum sollte es nicht möglich sein?
Toni Tornado hat geschrieben: wenn ja, wie kann ich dann "this" an den QLineEditKonstruktor übergeben ?
Das Verstehe ich nicht - was willst du machen?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Toni Tornado
Beiträge: 11
Registriert: 4. September 2006 14:05

Beitrag von Toni Tornado »

also ich möchte mehrere QlineEdits auf ein Fenster packen aber die Anzahl der QlineEdits möchte ich aus einer Datei auslesen. Und dann ein Array mit der anzahl bauen. hab zum testen mal sowas brobiert.

QVector<QLineEdit> test(20,this);
ging aber nicht.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das geht nicht weil man QLineEdit (allg. QObject) nicht kopieren kann - ich habe dir aber gezeigt wie es geht.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Toni Tornado
Beiträge: 11
Registriert: 4. September 2006 14:05

Beitrag von Toni Tornado »

Ok wenn du mir noch schnell erklären könntest wo genau der unterschied
zwischen QVector<QLIneEdit> und QVector<QLIneEdit*> liegt wäre ich dir sehr dankbar.

MFG
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Naja, ich würde sagen das ist Basic C++... QLineEdit* ist ein Pointer auf ein QLineEdit. Mehr gibts von mir zu solchen Fragen in einem Qt-Forum leider nicht.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Toni Tornado
Beiträge: 11
Registriert: 4. September 2006 14:05

Beitrag von Toni Tornado »

Ich weiss das dies ein Pointer ist, ich hab mich nur gefragt warum ich da unbedingt nen Pointer an Qvector übergeben sollte. Ich versteh QVector nämlich überhaubt nicht
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

QVector ist einfach wie ein normales C-Array. Da gibts nichts weiter zu verstehen. :)
Und Du musst hier einen Pointer nehmen weil Du , wie schon gesagt, eine von QObject abgeleitete Klasse nicht kopieren kannst.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Toni Tornado
Beiträge: 11
Registriert: 4. September 2006 14:05

Beitrag von Toni Tornado »

Aber um ein QlineEdit auf meinem MainWindow anzuzeigen muss ich doch
QLineEdit mit "this" MainWindow als Parent übereben. richtig ?
Dafür muss ich doch den Konstruktor von QLineEdit aufraufen.
Wie mach ich das wenn ich mit QVector<QLineEdit*> test(2);
das Array gebaut habe.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

QVector<QLineEdit*> test(2) erzeugt einfach ein Array mit zwei (uninitialiserten) Pointern vom Type QLineEdit.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Code: Alles auswählen

QVector< QLineEdit * > v;
int n = 20;
while( n-- > 0 )
  v << new QLineEdit(this);
Nebenbei ist es nicht verpflichtend, den parent-Parameter zu verwenden ->

Code: Alles auswählen

QLineEdit::QLineEdit( QWidget *parent = 0 )
Antworten