QT4: Dynamische Grössen in QGridLayout

Alles rund um die Programmierung mit Qt
Antworten
frikkie
Beiträge: 2
Registriert: 7. September 2005 23:47
Wohnort: Langenfeld und Bonn

QT4: Dynamische Grössen in QGridLayout

Beitrag 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
frikkie
Beiträge: 2
Registriert: 7. September 2005 23:47
Wohnort: Langenfeld und Bonn

Beitrag 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
Antworten