[gelöst] LineEdit in GridLayout - will nicht dynamischt sein
Verfasst: 14. Juli 2009 16:40
Hallo Leute,
bin noch blutiger Anfänger - von daher nehme ich an man muss hier ganz simple denken
Ich hab mit dem QtCreator ein Projekt erzeugt. Dort habe ich ein Grundgerüst-UI mit dem Designer erstellt. In diesem UI gibt es ein QFrame mit dem Namen "contentFrame" welches ein GridLayout zugewiesen bekommen hat.
Programmatisch möchte ich diesem GridLayout nun Elemente zuweisen. Das mache ich wie folgt:
Das sieht sogar fast toll aus. Bis auf den Umstand, dass das besagte LineEdit sich einfach weigert in der Horizontalen anzuwachsen, obwohl die Spalte ansich anwächst (das Label rechts daneben wandert davon). Es bleibt einfach ein paar Pixel breit und ende.
Hier ist bestimmt nur ne Winzigkeit zu beachten, die ich noch nicht kenne/sehe.
Wäre für einen Tipp dankbar!
Grüße,
Martin
bin noch blutiger Anfänger - von daher nehme ich an man muss hier ganz simple denken
Ich hab mit dem QtCreator ein Projekt erzeugt. Dort habe ich ein Grundgerüst-UI mit dem Designer erstellt. In diesem UI gibt es ein QFrame mit dem Namen "contentFrame" welches ein GridLayout zugewiesen bekommen hat.
Programmatisch möchte ich diesem GridLayout nun Elemente zuweisen. Das mache ich wie folgt:
Code: Alles auswählen
QGridLayout* layout = (QGridLayout*)ui->contentFrame->layout();
layout->setColumnStretch(3,1);
while (query.next()) { // DB-Abfrage
zaehlerName = new QLabel();
zaehlerSerial = new QLabel();
zaehlerOrt = new QLabel();
difference = new QLabel();
drift = new QLabel();
lastValue = new QLabel();
QLineEdit *e = new QLineEdit();
e->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
layout->addWidget(zaehlerName,row,0,Qt::AlignLeft);
layout->addWidget(zaehlerSerial,row,1,Qt::AlignLeft);
layout->addWidget(zaehlerOrt,row,2,Qt::AlignLeft);
layout->addWidget(e,row,3,Qt::AlignLeft); // Das 'Miststück' will nicht wachsen...
layout->addWidget(lastValue,row,4,Qt::AlignLeft);
layout->addWidget(difference,row,5,Qt::AlignLeft);
layout->addWidget(drift,row,6,Qt::AlignLeft);
[...]
}Hier ist bestimmt nur ne Winzigkeit zu beachten, die ich noch nicht kenne/sehe.
Wäre für einen Tipp dankbar!
Grüße,
Martin