Seite 1 von 1
Mmitausdehnung der Komponenten bei resize des MainWindow
Verfasst: 17. April 2008 11:42
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ß
Verfasst: 18. April 2008 08:05
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
Verfasst: 28. April 2008 09:46
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ß
Verfasst: 28. April 2008 09:58
von PeterLustig
Designer Manual schon gelesen?
Verfasst: 28. April 2008 10:28
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
Verfasst: 28. April 2008 11:25
von PeterLustig
Dann überschau es nicht, sondern lies es.
Verfasst: 28. April 2008 13:22
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ß
Verfasst: 28. April 2008 13:37
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.
Verfasst: 28. April 2008 13:43
von QTneuling
ok danke geht doch!
Verfasst: 28. April 2008 13:44
von PeterLustig
Einfach die Anleitung _lesen_, nicht überfliegen. Dort steht alles drin was man zur Benutzung der Tools wissen muss.
Verfasst: 28. April 2008 16:54
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.
Verfasst: 28. April 2008 17:06
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.

Verfasst: 28. April 2008 17:16
von ArneStocker
besser so ?
Gruß Arne
Verfasst: 6. Mai 2008 15:57
von QTneuling
ja danke
