Seite 1 von 1

Problem mit QGridLayout

Verfasst: 31. Dezember 2005 21:29
von Nassian
Hi,

Ich habe ein QVector in dem Widgets gespeichert sind. Ich möchte nun in Abhängigkeit von der Größe des Fensters die Widgets in einem QGridLayout anordnen (die Spaltenanzahl immer an die aktuelle Fensterbreite anpassen und dementsprechend auch die Zeilenanzahl verringern/vergrößern). Das mache ich mit folgendem Code:

Code: Alles auswählen

int iRows = (m_CameraWidgets.size()*m_CameraWidgets[0]->width()) / this->width() + 1;
		int iCols = m_CameraWidgets.size()/iRows + 1;
		
		qDebug() << "";
		for( int i = 0; i < m_CameraWidgets.size(); i++ ) {
			int iActRow = i%iRows;
			int iActCol = i - iActRow;
			
			m_pLayout->addWidget( m_CameraWidgets[i], iActRow, iActCol );
			qDebug() << iActCol << iActRow;
		}
Das Funktioniert auch wunderbar, wenn ich as Fenster vergrößere. Allerdings verkleinern kann ich es nicht mehr (dann sollen mehr Zeilen, weniger Spalten erzeug werden, klar). Als vielleicht wichtige Nebeninfo: Die Größe der Widgets habe ich fix eingestellt, da diese sich sonst erändert, wenn ich die Fenstergröße ändere.

Ich hoffe mir kann da jemand helfen.

MfG,
Alex