Problem mit QGridLayout
Verfasst: 31. Dezember 2005 21:29
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:
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
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;
}
Ich hoffe mir kann da jemand helfen.
MfG,
Alex