QGridLayout findchildren



  • Hi,

    ich hab mittels QT Creater ein QGridLayout (Name = gridLayout) angelegt indem sich 32 QLineEdits befinden mit den Namen m_LEdt[0-31] - also z.B. m_LEdt0, m_LEdt1....

    Um besser und vor allem leichter auf diese zugreifen zu können versuche ich sie in eine Liste / Array zu bündeln, was mir bis jetzt aber nicht gelingt

    //im Konstruktor zum dazugehörigen QDialog
    
    ui.setupUi(this);
    
    QList<QLineEdit *> item = ui.gridLayout->findChildren<QLineEdit*>("m_LEdt"); 
    int count = item.count(); 
    
    QList<QLineEdit *> item = ui.gridLayout->findChildren<QLineEdit*>("m_LEdt0"); 
    int count = item.count(); 
    
    int itemcount = ui.gridLayout->count();   //liefert 32 als return
    

    Beide Male erhalte ich als count-Wert = 0....

    Gruß
    Bernd



  • is die frage zu einfach, oder ist die lösung zu einfach?



  • Also wenn ich das recht sehe, funktioniert dein erster Lösungsansatz mit dem findChildren nicht. Deshalb habe ich einen andren Vorschlag: Alle 32 LineEdits sind ja namentlich in der ui_XXX.h gespeichert. Deshalb kannst du sie doch einfach per Hand in deine Liste einfügen. Bei 32 Stück ist das ja kein allzu großer Aufwand. Mit deinem findChildren kenne ich mich leider nicht aus, deshalb dieser Notvorschlag und weil in diesem Forum man nur wenigen Antworten kriegt^^


Anmelden zum Antworten