lineEdits durchlaufen

Alles rund um die Programmierung mit Qt
Antworten
STS301
Beiträge: 26
Registriert: 24. Januar 2009 18:50

lineEdits durchlaufen

Beitrag von STS301 »

hi

ich habe 5 lineEdits (inputEdit[1-5]).

Wie kann ich mit einer for-Schleife die lineEdits 1 bis 5 abfragen

Code: Alles auswählen

for (int i =1 ; i < 5; i++)
{
  if (ui->inputEdit[i].isEmpty)
  {
    ...
  }
}
so sollte das ungefähr aussehen.
mfg STS301
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Wenn ich dich richtig verstehe, ist der Name der Variablen im ui lineEdit1. Dann hast du in C/C++ keine Möglichkeit, so zuzugreifen, wie du dir das vorstellst.
Was du machen kannst, ist über alle children() nach dem objectName() zu fragen. Da kannst du das dann so vergleichen. Schau dir aber vorher das ui_*.h an, dass du weißt welches Object du nach den children() fragen kannst.
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Code: Alles auswählen

QList<QLineEdit *> stackedWidgetLEs = ui.stackedWidget->findChildren<QLineEdit *>(); 
STS301
Beiträge: 26
Registriert: 24. Januar 2009 18:50

Beitrag von STS301 »

franzf hat geschrieben:Wenn ich dich richtig verstehe, ist der Name der Variablen im ui lineEdit1. Dann hast du in C/C++ keine Möglichkeit, so zuzugreifen, wie du dir das vorstellst.
Was du machen kannst, ist über alle children() nach dem objectName() zu fragen. Da kannst du das dann so vergleichen. Schau dir aber vorher das ui_*.h an, dass du weißt welches Object du nach den children() fragen kannst.
@AuE: danke für die Hilfe, aber ich bin so weit mit C++ noch nicht, und der Code sagt mir nichts, sry.

@franzf: wie mache ich das? frage ich dann so ab "if (children(ui->lineEdit)" ?
mfg STS301
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

also wenn den code noch net verstehst....glaube das wird nen hartes brot für dich! unbedingt c++ kenntnisse nachholen!!!
STS301
Beiträge: 26
Registriert: 24. Januar 2009 18:50

Beitrag von STS301 »

naja, verstehen schon, aber ich hänge bei den beiden "<QLineEdit *> "
mfg STS301
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

STS301 hat geschrieben:naja, verstehen schon, aber ich hänge bei den beiden "<QLineEdit *> "
Stichwörter:
"Template" und "gutes C++-Buch"
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

wie arbeitest denn mit std::vectoren ??
STS301
Beiträge: 26
Registriert: 24. Januar 2009 18:50

Beitrag von STS301 »

sagen wir so, ich verstehe den ganzen Sinn dahinter nicht

Code: Alles auswählen

QList<QLineEdit *> editLists = ui.editLists->findChildren<QLineEdit *>(); 
Es wird eine QList mit dem Namen editLists, was macht das <QLineEdit *> da drinnen, verweist es auf alle QLineEdits in dem Programm?

danach, bei ui. findet er schon gar kein editLines, ich kann es zwar so hinschreiben: "editLines", da hat er aber kein findChildren mehr.
Den Sinn des zweiten <QLineEdit *> habe ich auch noch nicht durchschaut.

Ich habe zwar ein Qt C++ Buch vor mir, werde daraus aber nicht besonders schlau.
mfg STS301
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag von pfid »

Lies dir das hier durch:

http://de.wikipedia.org/wiki/Template_(Programmierung)

Danach liest du dir hier die Detailed Description durch:

http://doc.trolltech.com/4.5/qlist.html

und zum Schluss noch das hier:

http://doc.trolltech.com/4.5/qobject.html#findChildren

Dann sollte es klar werden. Wenn nicht, meld dich nochmal.
Antworten