[solved] eigenes Layout für dynamische Elemente?

Alles rund um die Programmierung mit Qt
Antworten
MADsCIENTIST

[solved] eigenes Layout für dynamische Elemente?

Beitrag von MADsCIENTIST »

Hallo,

ich benötige für mein Programm ein Layout, in welchem dynamisch Elemente beginnend von oben links nacheinander
nach rechts eingefügt werden.

Preview:
Bild

Habe mir daher eine eigene Klasse geschrieben, welche von QGridLayout erbt, nur habe ich derzeit ein Problem
mit der Positionierung der Elemente (diese werden in einer QList hinterlegt)!

Wie kann ich die Position eines Elements (z. B. QPushButton [fixedSize]) innerhalb meines Layouts festlegen?

PS: Ich bin mir nicht sicher ob sich dafür überhaupt ein Layout eignet oder ob ich nicht mit absoluter
Positionierung und einem zusätzlichen QFrame arbeiten soll!
Zuletzt geändert von MADsCIENTIST am 24. Juli 2013 15:00, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: eigenes Layout für dynamische Elemente?

Beitrag von Christian81 »

QGridLayout hat doch die Funktion addWidget() in der man die row und column angeben kann... was genau suchst Du?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
MADsCIENTIST

Re: eigenes Layout für dynamische Elemente?

Beitrag von MADsCIENTIST »

Wenn ich mittels addWidget() in QGridLayout neue Elemente hinzufüge, ist deren Position abhängig von der Anzahl der gesamten Elemente und deren Positionierung!

Die Elemente sollen sich aber, beginnend oben links, in einem horizontalen Abstand von 20px nach rechts weiter positionieren. Nachdem eine Reihe voll ist, soll in der
nächsten Zeile (mit einem vertikalen Abstand von 20px) begonnen werden.

Ich vermute mal, dass ich das über absolute Positionierung ohne Layout lösen muss, oder?
archer
Beiträge: 306
Registriert: 2. Februar 2006 09:56

Re: eigenes Layout für dynamische Elemente?

Beitrag von archer »

Wenn du das horizontale und das vertikale Spacing auf deine 20px setzt hat du doch den Abstand.

Eventuell ist ja auch das Flow Layout example von iteresse für dich, könnte eher zu deinen
Anforderungen passen.

Oder du nimmst kein Gridlayout sondern für jede neue Zeile ein eigenes horizontals Layout, welche in
einem vertikalen Hauptlayout angeordnet werden. Dann bist du nicht auf das Tabellenmuster angewiesen.
MADsCIENTIST

Re: eigenes Layout für dynamische Elemente?

Beitrag von MADsCIENTIST »

An sich ist das mit den separaten Layouts eine gute Idee, vielleicht mache ich es so, thx!
Antworten