Layout konfigurieren?

Alles rund um die Programmierung mit Qt
Antworten
qtNiko
Beiträge: 216
Registriert: 6. April 2007 21:26
Wohnort: München

Layout konfigurieren?

Beitrag von qtNiko »

hi,

gestern, Samstag abend, habe ich ein neues Thema hier im Forum unter Qt-Programmierung abgeschickt. Es ging um ein Problem mit der Layout-Funktion von Qt. Das Thema ist auch heute noch nicht zu sehen.
Es ging rein um die Qt-Funktion, keine bösen Worte, nichts unflätiges, etc. Woran kann es liegen, dass ein Thema nicht im Forum erscheint? Geht das nicht automatisch? Ich hatte ein kleines Attachment mit <15 kByte angehängt. Kann das der Grund sein?
Gruß von qtNiko

Core i5 760, GT 240, Suse Linux11.3, Eclipse-CDT-Helios, QT4.4, QT-Integration
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Kannst Du es nochmal probieren? Habe nichts gelöscht :)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
qtNiko
Beiträge: 216
Registriert: 6. April 2007 21:26
Wohnort: München

Layout konfigurieren?

Beitrag von qtNiko »

Also 2. Versuch:

Ich möchte ein GUI erstellen, das links oben ein Ausgabefenster für Bilder hat, rechts daneben diverse Knöpfe und Felder sowie darunter ebenfalls einige Knöpfe. Das besondere daran ist, dass die Bildgröße stark variieren kann, und deshalb die Position der Knöpfe rundherum sich automatisch verschieben soll, wenn ich das Bild-Ausgabefenster skaliere.
Wenn ich die Doku richtig verstehe, soll das mit Layout funktionieren.
Mein Versuch ist im Attachment zu sehen (nur die Elemente rechts von der Bildausgabe), links der Zustand, wie ich ihn etwa haben möchte, aber noch vor dem Einsatz von Layout, rechts das Ergebnis von "vertical Layout" für alle Elemente.
Was vor allem stört ist, dass die Texte "Fadenkreuzposition..", "Mess-Status", "Zusatzinfo" so weit weg von den jeweils darunterliegenden Feldern stehen. Sie sollen als Überschriften direkt oberhalb der Felder platziert sein, weshalb ich sie vorher ja auch schon in einem ersten Layout jeweils zusammengefasst hatte, siehe links. Auch der Knopf "Messung starten" soll höher sein. Das kriege ich jedoch nur hin, wenn ich alles vertikal deutlich auseinanderziehe. Dann aber werden die Textabstände noch größer!
Wenn ich das gesamte Layout vertikal verkleinere (bei kleinen Bildern nötig), dann schrumpfen die GroupBoxen "Sehfeld" und "Messtyp" vertikal total zusammen. Ich möchte aber nur die Abstände zwischen den Feldern schrumpfen lassen und nicht die Felder selbst.

Kann man Layout so konfigurieren, dass es z.B. nur die Abstände automatisch anpasst, aber nicht die Felder verkleinert/vergrößert?
Dateianhänge
GUI.png
GUI.png (14.41 KiB) 28877 mal betrachtet
Gruß von qtNiko

Core i5 760, GT 240, Suse Linux11.3, Eclipse-CDT-Helios, QT4.4, QT-Integration
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Kann man Layout so konfigurieren, dass es z.B. nur die Abstände automatisch anpasst, aber nicht die Felder verkleinert/vergrößert?
Klar !

Welche version von der QT nutzt du ?
Du arbeitest doch mit dem designer, schau dir die optionen duer das resizeverhalten mal bissi naeher an, das nen Gefuehl fuer kriegst ...
Du kannst seperat die mindestgroessen, die maxgroessen, und das verhalten mit den werten dazwischen, und das generelle verhalten (Resize policy) einstellen

Ohne designer gehts natuerlich auch, vom code aus, die funktionen am QWidget heissen aehnlich :-)

Beim zusammenschieben gibts da auch prioritaten, die man expliziet ebenfalls manipulieren kann. so dass er das zuerst zusammenschiebt wo die QT denk dass der platz ned so dringend benoetigt wird.

Aber da saollt man der qt schon bissi unter die arme greifen, um genau das resultat zu erhalten was man will.
Im manual unter Layout ist das eigentlich aber auch ganz gut beschrieben ...

Ciao ...
looki
Beiträge: 10
Registriert: 7. November 2007 14:58
Wohnort: Nürnberg

Beitrag von looki »

noch ein tipp dazu,
immer das ganze/und die einzelnen teile als Grid zusammenfassen, das funktioniert dann richtig gut
Antworten