Seite 1 von 1

[gelöst] QWidget/Layout: Auf Childs zugreifen

Verfasst: 2. Dezember 2009 11:23
von Delryn
Hallo!

ich erstelle ein QWidget, auf dem ich dann ein paar Elemente (Buttons, LineEdit usw) platziere. Organisiert in einem Layout. Nun will ich mir nur den Pointer auf das Widget speichern, aber auf diese Elemente wieder zugreifen.

QWidget hat eine childrenAt(x,y)-Methode, aber ich denk das ist nicht die beste Lösung. Beim Layout fiel mir nichts geeignetes ins Auge.

Wie greife ich drauf zu?

Verfasst: 2. Dezember 2009 11:29
von franzf
QObject::findChildren(), mit passendem objectName (den du natürlich erst mal setzen musst).

Verfasst: 2. Dezember 2009 12:45
von Delryn
franzf hat geschrieben:QObject::findChildren(), mit passendem objectName (den du natürlich erst mal setzen musst).
K, hat geklappt, danke. Für andere:


Code: Alles auswählen

   QLineEdit *le = new QLineEdit("10");
   le->setObjectName("myLineEdit");


pWidget->layout()->addWidget(le);
 QList<QLineEdit*> element(pWidget->findChildren<QLineEdit *>(QString("myLineEdit")));
        (*element.begin())->setText("123456789");