ui files schachteln

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
umsid
User
Beiträge: 9
Registriert: Sonntag 6. September 2015, 09:36

Hallo,

ich bin neu hier.
Kenne auch Pyqt noch nicht richtig, übe mich gerade mit dem QtDesigner layouts zu entwerfen.
Dabei stellt sich mir folgende Frage:

Gibt es im Qt Designer ein Widget, das ein anderes .ui file nachläd, so dass man quasi designs ineinander verschachteln kann?

Weiterhin habe ich es im Qt Designer noch nicht geschafft, Designs zu entwerfen, die sich mit vergrößern oder verkleinern, wenn man die Fenstergröße ändert. Hat jemand einen Tip für mich, wie ich hier weiterkomme?

Vielen Dank schon mal im Voraus.
Guenter
BlackJack

@umsid: Im Designer selbst kann man das nicht machen, aber man kann natürlich UI-Dateien zur Laufzeit laden, entweder dabei auch gleich ein Exemplar erstellen lassen, oder sich den Datentyp geben lassen wenn man beispielsweise selbst mehrere Exemplare davon erstellen möchte.

Und solche Exemplare kann man dann mit den üblichen Methoden auch in bereits vorhandene GUI-Objekte einfügen wo man möchte.

Beim zweiten Problem musst Du wohl etwas ausführlicher werden. Es sei denn Du verwendest keine Layouts. Dann ist die Antwort einfach: Verwende Layouts. :-)

Und zwar grundsätzlich. Absolute Positionierung von Elementen macht heute niemand mehr.
umsid
User
Beiträge: 9
Registriert: Sonntag 6. September 2015, 09:36

Hallo BlackJack,

danke für die Antwort.
Ich hatte wohl Layouts verarbeitet, aber das "Hauptfenster" hatte ich nicht mit einem Layout versehen.
Jetzt geht das alles problemlos.

Kann man denn die einzelnen Buttons und Eingabefelder auch so einstellen, dass sie mit dem Vergrößern des Fensters sich mit vergrößern (Button und Schriftgröße)?

Zum ersten Punkt (Einbinden eines UI Files in ein UI File - das muss ich mir noch genauer ansehen.

erstmal vielen Dank für die Hilfe, vielleicht weiß ja jemand, wie ich die Widgets im Designer so einstelle, dass sie "mitwachsen".

vg
Guenter
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

umsid hat geschrieben:Kann man denn die einzelnen Buttons und Eingabefelder auch so einstellen, dass sie mit dem Vergrößern des Fensters sich mit vergrößern (Button und Schriftgröße)?
Für die Widgetgröße kann man das mit QSizePolicy einstellen (http://doc.qt.io/qt-5/qsizepolicy.html), für die Schriftgröße ist mir kein vorgefertigter Weg bei den Standardwidgets bekannt. Hier könntest Du per `resizeEvent`-Methode einen entsprechenden Workaround erstellen.
BlackJack

@umsid: Schaltflächen wachsen lassen sollte möglich sein, bei der Schriftgrösse dürfte man Probleme bekommen. Denn die Grösse von Schaltflächen (und auch anderen Widgets) richtet sich ja nach dem Platz den der Inhalt benötigt, also unter anderem nach der Schriftgrösse. Wenn Du jetzt sagst die Schriftgrösse soll von der Widgetgrösse abhängen, die ihrerseits von der Schriftgrösse abhängt, die von der Widgetgrösse abhängen soll, die von der Schriftgrösse… Das ist ein Zielkonflikt. :-)

Was das wachsen von Widgets angeht schau Dir mal die Möglichkeiten unter `sizePolicy` im Property Editor an.
Antworten