Seite 1 von 1

QT4: Dynamische Grössen in QGridLayout

Verfasst: 8. September 2005 00:13
von frikkie
Hi Leute,

Zum Anfang mal: ich programmiere seit gestern mit Qt und habe demnach noch nicht wirklich viel Ahnung davon.
Wie schon erwähnt habe ich ein Problem mit der dynamischen Grössenanpassung in einem QGridLayout. Wenn ich die Grösse des Fensters ändere, dann ändert sich nur die Grösse der toolBox. preview (erbt von QWidget) ändert seine Grösse nicht.

Code: Alles auswählen

	button = new QPushButton( tr( "Button 1" ) );
	button2 = new QPushButton( tr( "Button 2" ) );
	button3 = new QPushButton( tr( "Button 3" ) );

	toolBox = new QToolBox;
	toolBox->addItem( button, tr( "Form" ) );
	toolBox->addItem( button2, tr( "Optionen" ) );

	preview = new ButtonPreview( this );

	QGridLayout *mainLayout = new QGridLayout;
	mainLayout->addWidget( toolBox, 0, 0, 2, 1 );
	mainLayout->addWidget( preview, 0, 1 );
	mainLayout->addWidget( button3, 1, 1 );

	mainWidget = new QWidget;
	mainWidget->setLayout( mainLayout );
Meine Frage: Wie schaffe ich es, dass auch die Grösse von preview sich automatisch anpasst?

Gruß Andreas

Verfasst: 9. September 2005 01:44
von frikkie
Hi,

ich hab die Lösung in der QT-Dokumentation gefunden. Die Folgenden zwei Zeilen haben das Problem gelößt:

Code: Alles auswählen

	mainLayout->setColumnStretch( 0, 1 );
	mainLayout->setColumnStretch( 1, 1 );
Mit dem zweiten Parameter kann man auch das Verhältnis der Größenänderungen beeinflussen.

Gruß Andreas