Problem mit QGridLayout

Alles rund um die Programmierung mit Qt
Antworten
Nassian
Beiträge: 126
Registriert: 20. Juni 2005 21:14

Problem mit QGridLayout

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