[gelöst] Widget wächst nicht mit Fenster mit?

Verschiedenes zu Qt
Antworten
lespaul
Beiträge: 87
Registriert: 11. August 2011 10:07

[gelöst] Widget wächst nicht mit Fenster mit?

Beitrag von lespaul »

Hallo allerseits,

ich möchte mir eine Dialogbox in mein Programm einbauen. wo irgendwelche Einstellungen und Werte abgelegt sind. Ich habe das nun mit Layouts and GroupBox en wunderbar angeordnet. Das sieht auch super aus, sofern man mit der Maus die größe des Dialigfensters nicht ändert.

Wenn ich aber mal mit der Maus unten rechts am Zipfel ziehe, wird das Fenster zwar vergößert, aber meine Layouts und GroupBoxen bleiben unvergrößert drin hängen, wie ein Schluck Wasser in der Kurve.

Schön wäre es, wenn diese Proportional mit vergrößert würden.. Müsste doch gehen?

Vielen Dank schonmal und VG
Lespaul
Zuletzt geändert von lespaul am 8. Juli 2015 12:07, insgesamt 1-mal geändert.
veeman
Beiträge: 277
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: Widget wächst nicht mit Fenster mit?

Beitrag von veeman »

Welche Layouts hast du den genau verwendet?

Hast du den die verschiedenen Layouts (QHBoxLayout, QVBoxLayout, etc) richtig verwendet.

Ggf. musst du deinem Hauptwidget ein Layout verpassen und die Subwidgets darin ausrichten.
lespaul
Beiträge: 87
Registriert: 11. August 2011 10:07

Re: Widget wächst nicht mit Fenster mit?

Beitrag von lespaul »

veeman hat geschrieben:Welche Layouts hast du den genau verwendet?
Ich habe nun ein leeres Widget Projekt erstellt und dort erstmal eine horizintalLayout reingetan. In dieser befinden sich wiedrum 2 Groupboxen:

MainWindow
..+--> centralWidget
.......... +--> horzontalLayout
.................. +--> groupBox_1
...................+--> groupBox_2

veeman hat geschrieben:Hast du den die verschiedenen Layouts (QHBoxLayout, QVBoxLayout, etc) richtig verwendet.
Das bezweifele ich ernsthaft :mrgreen:
Wenn ich die Applikation starte und mit der Maus die Fenstergröße ändere ist das horizontalLayout fest und wächst nicht mit.
Im QtDesignEditor passen sich die Groupboxen der horizintalLayout an, wenn ich diese verändere.

==> Muss das horizontalLayout an das centralwidget angeklebt werden?
veeman hat geschrieben:Ggf. musst du deinem Hauptwidget ein Layout verpassen und die Subwidgets darin ausrichten.
Das Hauptwidget wäre nun ein horizontalLayout.

In meine Groupbox_1 habe ich eine QToolbox (vertikale Reiter) eingebaut. In dessen einzelne Reiter würde ich nun gerne jeweils eine Baumstruktur (TeeeView oder -Widget). Aber diese muss ich ja nun wieder händisch zurechtziehen :cry:
veeman
Beiträge: 277
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: Widget wächst nicht mit Fenster mit?

Beitrag von veeman »

* Vorgehensweiße:
Elemente ins centralwidget ziehen. Anschließend rechts in der Objektanzeige das centralWidget auswählen und oben in der Menuleiste Horizontales, Vertikales oder anderes passendes Layout auswählen.
lespaul
Beiträge: 87
Registriert: 11. August 2011 10:07

Re: Widget wächst nicht mit Fenster mit?

Beitrag von lespaul »

veeman hat geschrieben:Elemente ins centralwidget ziehen. Anschließend rechts in der Objektanzeige das centralWidget auswählen und oben in der Menuleiste Horizontales, Vertikales oder anderes passendes Layout auswählen.
Hmm, das funktioniert nicht.
1. Einfügen von Element (zB TabWidget oder irgendein Layout)
2. Auswählen in der Objektanzeige
3. Rechtmaus : Layout --> es ist hier "nur Größe anpassen" auswählbar. --> Horizintales Layout ausgegraut
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Re: Widget wächst nicht mit Fenster mit?

Beitrag von RHBaum »

Hasst du schon ein layout, und der restliche fummel liegt daneben ?
Wie wählst du das centralwidget an ?

Controls auf dem centralwidget plazieren (woanders geht eh ned )
dann centralwidget im Object-Explorer auswählen
und oben auf die buttons in der Layoutleiste das layout auswählen, alternativ über Menü Formular das richtige wählen ....

Ist das alles ausgegraut ?
Welche Qt version hasst du ?
ich möchte mir eine Dialogbox in mein Programm einbauen.
Ich habe nun ein leeres Widget Projekt erstellt
MainWindow
..+--> centralWidget
.......... +--> horzontalLayout
.................. +--> groupBox_1
...................+--> groupBox_2
Das passt auch alles nicht zu sammen ^^

Entweder Mainwindow
Oder Dialog (QDialog)
oder Userform (QWidget)

Unterscheidet sich grob nicht wirklich sehr, aber die feinheiten liegen im detail ^^

Such mal im Inet nach paar Beispielen, videos Demos zum QDesigner ...
Jetzt nicht falsch verstehen ... aber bisher sind eigentlich alle damit klargekommen, sogar ich, der sich jahrelang dagegen verwehrt hat, Designs per designer zu erstellen, kam nachher damit sehr fix zurande :-)

Ciao ...
lespaul
Beiträge: 87
Registriert: 11. August 2011 10:07

Re: Widget wächst nicht mit Fenster mit?

Beitrag von lespaul »

RHBaum hat geschrieben:Hasst du schon ein layout, und der restliche fummel liegt daneben ?
Ja gleich im centralwidget befindet sich ein Layout. Das restliche geraffel befindet sich IN dem Layout.
Ich habe mal ein Beispielprojekt erstellt, siehe Anhang.
RHBaum hat geschrieben:Wie wählst du das centralwidget an ?
QtCreator -> Design -> Objektansicht (Baumstruktur rechts) und dann auf 'centralWidget' klicken
RHBaum hat geschrieben:Welche Qt version hasst du ?
5.5
RHBaum hat geschrieben:Das passt auch alles nicht zu sammen ^^

Entweder Mainwindow
Oder Dialog (QDialog)
oder Userform (QWidget)

Unterscheidet sich grob nicht wirklich sehr, aber die feinheiten liegen im detail ^^

Such mal im Inet nach paar Beispielen, videos Demos zum QDesigner ...
Jetzt nicht falsch verstehen ... aber bisher sind eigentlich alle damit klargekommen, sogar ich, der sich jahrelang dagegen verwehrt hat, Designs per designer zu erstellen, kam nachher damit sehr fix zurande :-)
Eigentlich habe diese aktuelle Problem mit allen 'WidgetTypen'..
RHBaum hat geschrieben:Jetzt nicht falsch verstehen ... aber bisher sind eigentlich alle damit klargekommen, sogar ich, der sich jahrelang dagegen verwehrt hat, Designs per designer zu erstellen, kam nachher damit sehr fix zurande :-)
I wo, vielen Dank dafür. Eigentlich bin ich damit auch klar gekommen. Wenn ich früher ein Layout in ein anderes Widget gesteckt habe (zuletzt manuell eingecodet und nicht im QtCreator DesignEditor) hat sich das Layout immer in das Vaterwidget 'aufgebläht'.

Ich habe mal in Anhang nun ein Beispiel mit design erstellt:
MainWindow
.... +--> centralWidget
.............+--> verticalLayout
....................+ --> groupbox
............................+--> horizintalLayout
....................................+--> toolbutton
....................................+--> toolbutton2
....................................+--> toolbutton3
....................................+--> toolbutton4
....................+ --> label
....................+ --> lineEdit
....................+ --> pushButton
#menubars etc.

Das Problem ist, dass mein verticalLayout nicht an das centralWidget alinged. Wennn ich die Applikation starte (oder auch im Designmodus) und das Main-Fenster per Maus vergrößere, bleibt mein verticalLayout fest in seiner größe.
Wenn ich dagegen im Designmodus auf das verticalLayout klicke, und dessen größe verändere, wachsen alle Widgets, die sich in verticalLayout befinden, proportional mit. D.h. mein LineEdit wird breiter (passt sich an verticalLayout an), mein pushButton "Blabla" wird breiter (passt sich an verticalLayout an).

Übrigens gilt das gleiche für das horizontalLaylout, welches sich in groupBox befindet. Wenn ich im Designmodus wieder die verticalLayout vergößere, aligned sich das horizontalLayout nicht mit. wogegen dessen Vater die groupbox "mitwächst".

Ich hätte gerne, wenn meine Application läuft, und ich mein MainFenstergröße an meine Desktopgröße anpasse, auch mein verticalLayout in dem MainFenster mitwächst. Das ging früher mal implizit und ich hatte nie Probleme damit.
Dateianhänge
LayoutTest.zip
Komplettes Projekt inkl. *-pro file. Im Qtcreator direkt zu öffnen..
(2.39 KiB) 416-mal heruntergeladen
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Widget wächst nicht mit Fenster mit?

Beitrag von Christian81 »

Du hast dem centralWidget kein Layout gegeben - wieso sollte dann etwas verändern wenn das centralWidget sich verändert?
Sieht man auch sehr schön im designer dass dort ein Layout fehlt:
Screenshot_1.png
Screenshot_1.png (9.37 KiB) 12460 mal betrachtet
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
lespaul
Beiträge: 87
Registriert: 11. August 2011 10:07

Re: Widget wächst nicht mit Fenster mit?

Beitrag von lespaul »

Christian81 hat geschrieben:Du hast dem centralWidget kein Layout gegeben
Tatsächlich. Wenn ich dem centralWidget ein entsprechendes Layout zuweise, spare ich mit dessen Kind verticalLayout.

Jedoch gibts weiter tiefer im Baum beispielsweise eine groupBox. Dieser groupBox würde ich auch gerne in ein Layout verpassen, um die Widgets in der groupBox so toll anzuordnen. Nur ist bei der groupBox alles unter Layout ausgegraut..
Screenshot: Bild
lespaul
Beiträge: 87
Registriert: 11. August 2011 10:07

Re: Widget wächst nicht mit Fenster mit?

Beitrag von lespaul »

lespaul hat geschrieben:Jedoch gibts weiter tiefer im Baum beispielsweise eine groupBox. Dieser groupBox würde ich auch gerne in ein Layout verpassen, um die Widgets in der groupBox so toll anzuordnen. Nur ist bei der groupBox alles unter Layout ausgegraut..
Screenshot: Bild
Ok, man muss irgendetwas in die groupBox ziehen, erst dann kann man dessen Layout ändern.. :roll:
Antworten