QT: Sizer? Layout?
-
Moin,
spiele gerade mit QT rum, und versuche im QT Creator einfach ein Fenster mit einem Notebook zu erstellen.
Von wxWidgets kenne ich das so, das man einen Sizer einfach auf expand stellt, und das Notebook nimmt automatisch die Fenstergröße an.
Nun habe ich mein Notebook schon in ein Layout getan, aber kann irgendwie nicht die größe davon dynamisch ändern lassen.Wie kann ich also dieses Verhalten in QT erreichen?
Geht dies überhaupt über den Designer in QT Creator?
Ich will einfach das ein gegebenes Layout die Fenstergröße jeweils ausfüllt.
Am besten will ich das direkt über die .ui datei erreichen, ohne das ich da selber was einstellen müsste.phlox
-
Designer starten, "Main Window"-Template waehlen,
Nun ein "Text-Edit"-Widget (meinst Du das mit "Notebook"?) auf das Main-Window drag&droppen
(das neue Widget wird dadurch zum Child vom "centralwidget" des QMainWindow),
jetzt waehlst Du das "centralwidget" aus und weist ihm ein geeignetes Layout zu (Symbole oben rechts) -> das QTextEdit fuellt das Fenster aus.
-
notebook ist kein textedit, sondern ein tabwidget, zu mindest wenn ich nach den Google-ergebnissen zu "wxwidgets notebook" gehe, was mich zur Doku von wxNotebook leitet.
Wenn du es eh schon hinbekommen hast, verwende doch bitte die Qt-Klassennamen und nicht die alten aus wx bekannten
Und im Prinzip musst du nicht mal das centralwidget anklicken.
Einfach rechtsklich in den freien Raum, wo kein Widget liegt->Lay Out ->passendes auswählen.
-
Mir gehts gar nicht um das TabWidget, sondern wie ich das generell mache.
TabWidget ist hier nur ein Beispiel.Noch eine Frage, für die Seiten eines TabWidgets kann ich in wxWidgets von wxPanel entsprechende Klassen ableiten, ist das in QT QWidget? Oder QFrame?
-
Was sagt die Doku?
int addTab ( QWidget * page, const QString & label )
int addTab ( QWidget * page, const QIcon & icon, const QString & label )Das sagt uns, dass es ein QWidget sein soll. QWidget ist die Basisklasse aller grafischen Dingelingens. Und es sollte auch für deine eigenen Pages reichen
-
Hm, bin da jetzt selber schon draufgekommen.
Find den Designer noch was gewöhnungsbedürftig, insgesamt klappt das aber bis jetzt ganz gut