Mmitausdehnung der Komponenten bei resize des MainWindow

Alles zum Qt Framework für Java
Antworten
QTneuling
Beiträge: 8
Registriert: 17. April 2008 07:09

Mmitausdehnung der Komponenten bei resize des MainWindow

Beitrag von QTneuling »

Hallo ich habe eine Frage bezüglich des resize-events der qMainWindow.
Ich benutze eclipse mit dem qt-jambi Designer.
Wie erreiche ich es, das beispielsweise ein Layoutcontainer (z.B. GridLayout) sich bei einer größenänderung des qMainWindow mitausdehnt?

gruß
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag von ArneStocker »

Hallo

vielleicht habe ich die Frage nicht richtig verstanden aber im Designer (ich verwende nicht den Eclipse-Designer), gibt es dafür eine Schaltfläche (die entspricht dem Menüeintrag 'Objekte waagerecht anordnen' (... neuerdings auf Deutsch).

Du plazierst also Deine Objekte mehr oder weniger untereinander, wählst das MainWidget (oder den Dialog) aus und klickst auf die Schaltfläche (Menüeintrag).

Programmatisch geht das so:

Code: Alles auswählen

QWidget containerwidget = ...
QWidget unterwidget1 = ...
QWidget unterwidget2 = ...
QWidget unterwidget3 = ...

QVBoxLayout vboxlayout = new QVBoxLayout(containerwidget);
vboxlayout.add(unterwidget1);
vboxlayout.add(unterwidget2);
vboxlayout.add(unterwidget2);
Gruß Arne
QTneuling
Beiträge: 8
Registriert: 17. April 2008 07:09

Beitrag von QTneuling »

hi,
also mein problem ist eher das ich es nicht schaffe das sich bei einem resizeevent alle buttons der neuen formgröße anpassen.

ich habe im qt designer einfach in ein vBoxLayout container ein button hinzugefügt. dieser button soll sich in höhe und breite bei einem resizeevent proportional zum QMainWindow anpassen.
ich weiss nur nicht welche einstellungen ich dazu im qtDesigner vornehmen muss.

ich hoffe jetzt ist es verständlicher was ich möchte

gruß
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Designer Manual schon gelesen?
QTneuling
Beiträge: 8
Registriert: 17. April 2008 07:09

Beitrag von QTneuling »

gelesen nicht. ich habe das manual durchgeschaut ob ich eine lösung zu meinem problem finde.

da steht zwar das man jedes widget in ein layoutcontainer setzen soll
aber auf resize events wird da meines wissens nicht genau eingegangen.

grüße
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Dann überschau es nicht, sondern lies es.
QTneuling
Beiträge: 8
Registriert: 17. April 2008 07:09

Beitrag von QTneuling »

wenn du es nicht weisst brauchst du hier auch nicht antworten.
deine ratschläge helfen nicht wirklich weiter.
vielleicht verstehe ich den sinn eines forums auch nicht wirklich.
dann tut es mir leid!

gruß
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Ich weiß es, und ich will dir helfen. Ich will dir beibringen, dass es sinnvoll ist die Anleitung der Tools zu lesen, die du benutzen willst.

Aber wenn du so ignorant bleiben willst:
Dir fehlt ein Master-Layout.
QTneuling
Beiträge: 8
Registriert: 17. April 2008 07:09

Beitrag von QTneuling »

ok danke geht doch!
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Einfach die Anleitung _lesen_, nicht überfliegen. Dort steht alles drin was man zur Benutzung der Tools wissen muss.
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag von ArneStocker »

ich habe im qt designer einfach in ein vBoxLayout container ein button hinzugefügt. dieser button soll sich in höhe und breite bei einem resizeevent proportional zum QMainWindow anpassen.
ich weiss nur nicht welche einstellungen ich dazu im qtDesigner vornehmen muss.
Irgendwie ist mir noch nicht klar, an welcher Stelle Du hängst. Leg doch mal zum Spass einen neuen Dialog an, zeihe zwei Buttons hinein und klicke dann auf den Menüeintrag

Objekte waagerecht anordnen

oder

Objekte senkrecht anordnen

und so weiter. Wenn Du einfach nur ein VBoxLayout in das Fenster ziehst, werden zwar die Buttons direkt an das Layout angepasst, aber das Layout nicht an das Fenster.

Gruß Arne

PS.: Je nach Einstellungen der QSizePolicy werden die Buttons in Höhe und/oder Breite dem Layout angepasst.

PPS: Wenn Du das Widget oder den Dialog in der oben beschriebenen Weise anlegst, musst Du auf das resizeEvent nicht reagieren, das layout wird automatisch angepasst.
Zuletzt geändert von ArneStocker am 28. April 2008 17:15, insgesamt 1-mal geändert.
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

@ArneStocker

Er hat ganz einfach das Masterlayout nicht gesetzt. Und er war natürlich zu ignorant einfach mal die Anleitung zu lesen.

Anleitungen? Das sind doch die Dinger die man generell nicht liest!


Übrigens gibt es eine Editier-Funktion. ;)
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag von ArneStocker »

besser so ? ;-)

Gruß Arne
QTneuling
Beiträge: 8
Registriert: 17. April 2008 07:09

Beitrag von QTneuling »

ja danke :wink:
Antworten