Hallo Leute,
ich habe folgendes Problem:
Ich will in meinem MainWindow ein QGridLayout indem sich Widgets befinden erstellen.
So sieht das ganze aus:
MainWindow::MainWindow(QWidget *parent)
:QWidget(parent)
{
QGridLayout *gridLayout = new QGridLayout;
for(int i = 0 ; i < 3; ++i)
for(int j = 0 ; j < 3 ; ++j)
{
QColor color(249, 228, 147);
QWidget *widget = new Character(color, "a", false);
gridLayout->addWidget(widget, i, j);
}
setLayout(gridLayout);
}
in der main sieht es dann so aus:
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
MainWindow window;
window.show();
return app.exec();
}
Wenn ich das ganze nun starte, kommen blitzen nacheinander alle Widgets auf (so kommt es mir jedenfalls vor) und verschwinden wieder.
kann mir jemand sagen was ich hier falsch mache?
Danke im Voraus.
Probleme mit der Ausgabe
-
soulsofpetro
- Beiträge: 16
- Registriert: 3. Dezember 2006 16:57
-
dontinelli
- Beiträge: 146
- Registriert: 22. September 2006 20:53
In der Doku fügensie das QGridLayout in eine GroupBox. Warum solltest du es anders machen???
Cheers
Don Tinelli
Code: Alles auswählen
void Dialog::createGridGroupBox()
{
gridGroupBox = new QGroupBox(tr("Grid layout"));
QGridLayout *layout = new QGridLayout;
for (int i = 0; i < NumGridRows; ++i) {
labels[i] = new QLabel(tr("Line %1:").arg(i + 1));
lineEdits[i] = new QLineEdit;
layout->addWidget(labels[i], i + 1, 0);
layout->addWidget(lineEdits[i], i + 1, 1);
}
smallEditor = new QTextEdit;
smallEditor->setPlainText(tr("This widget takes up about two thirds of the "
"grid layout."));
layout->addWidget(smallEditor, 0, 2, 4, 1);
layout->setColumnStretch(1, 10);
layout->setColumnStretch(2, 20);
gridGroupBox->setLayout(layout);
}Don Tinelli