[gelöst] Extension klappt nicht zu

Alles rund um die Programmierung mit Qt
Antworten
huckleberry
Beiträge: 115
Registriert: 2. Oktober 2010 17:07

[gelöst] Extension klappt nicht zu

Beitrag von huckleberry »

Hallo Foristen,

also ich habe das Beispiel bei Qt Examples benutzt. Es geht um Extensions, da wo man auf den Button "More" klickt und es klappt im selbigen Dialogfenster mehr Widgets auf.

Also wenn man im Beispiel klickt, wird die Dialogbox erweitert. Klickt man wieder, wird diese wieder auf ihren ursprüngliche Größe reduziert.

Nun zu meinem Code:

Code: Alles auswählen

// Auszug....

// Extension 
	extension = new QWidget;
    extensionLayout = new QVBoxLayout;
    extensionLayout->setMargin(0);
    extensionLayout->addWidget(lblInfo);
    extensionLayout->addWidget(leInfo);
    extension->setLayout(extensionLayout);

	// MainLayout
	mLO = new QGridLayout;
	mLO->addWidget(lblID, 0, 0);
	mLO->addWidget(leID, 0, 1);
	// usw....

    mainLayout = new QGridLayout;
	mainLayout->addLayout(mLO, 0, 0);
	mainLayout->addWidget(buttonBox, 0, 1);
	mainLayout->addWidget(extension, 1, 0, 1, 2);
    mainLayout->setRowStretch(2, 1);

    setLayout(mainLayout);

    setWindowTitle(tr("MyWindow"));

	extension->hide();

	// Connect
	connect(btnMore,	SIGNAL(toggled(bool)),	extension,	SLOT(setVisible(bool)));
Ich klicke, Dialog wird größer, es kommen meine Widgets hinzu, bisher super.
Ich klicke wieder, neue Widgest verschwinden, jedoch Fenster bleibt groß. Ist jetzt kein Beinbruch, würde aber wissen wieso, um Qt besser zu beherrschen.

Erleuchtet mich. Vielen Dank.

Mfg Huck
Zuletzt geändert von huckleberry am 30. Juni 2011 14:22, insgesamt 1-mal geändert.
huckleberry
Beiträge: 115
Registriert: 2. Oktober 2010 17:07

Beitrag von huckleberry »

Ich hatte das Gefühl, es hat etwas mit dem folgender Zeile zu tun:

Code: Alles auswählen

 mainLayout->setRowStretch(2, 1); 
Habe alles durchpermutiert, vergeblich.
huckleberry
Beiträge: 115
Registriert: 2. Oktober 2010 17:07

Beitrag von huckleberry »

Habe QVBoxLayout mit QGridLayout ersetzt unjd setMargin(0) auskommentiert. Nun gehts.
Antworten