Widget automatisch erstellen lassen



  • @bla1027 sagte in Widget automatisch erstellen lassen:

    Bekomme ich eine Anzeige von einem QFrame. Allerdings hätte ich in diesem Fall ja gerne zwei, einer über dem anderen. Wie ist das möglich? Ich muss scheinbar die Widgets im Ui-File initialisieren etc, ansonsten werden sie mir gar nicht angezeigt.

    Grundsätzlich musst du im UI-File gar nichts machen.

    Ich nutze folgende Vorgehensweise beim erzeugen von (dynamischen) Widgets/Objekten:

    1. Ein ParentWidget ( z.B. das CentralWidget von QMainWindow ), egal was, hauptsache QWidget.
    2. Dann Ein Layout, welches im Konstruktor das ParentWidget übernimmt:
    • horizontale Anordnung von Widgets: QHBoxLayout
    • vertikale Anordnung von Widgets: QVBoxLayout
    • gitterförmige Anordnung von Widget: QGridLayout
    1. "Child-"Widgets ( in meinem Beispiel die QLabel ) dem Layout per ->addWidget hinzufügen.
    2. setGeometry brauchst du eigentlich gar nicht, wenn du mit den Layouts arbeitest. Vorteil der Layouts: Du bist unempfindlich gegenüber Resize vom Fenster, oder gegenüber unsichtbar gemachten Widgets. Wenn du von den zehn Labels aus meinem Beispiel das erste(oberste) unsichtbar machst, dann rutschen die 9 weiteren nach oben, und wenn du das erste wieder sichtbar machst, rutschen die wieder nach unten. Wenn du mit setGeometry arbeitest, sind die Positionen fix.

    Zum anderen: das ist kein Drecksforum. Es kennt sich nur nicht jeder mit allem aus und man erkennt sehr schnell wer wirklich helfen will. Die paar Trolle kannst du einfach getrost ignorieren.
    Zum zweiten: QT ist am Anfang schwierig, aber wenn du das Prinzip erstmal verstanden hast, bietet es vielseitige Möglichkeiten und geht flott von der Hand.
    Man merkt schon dass du Anfänger bist, aber wenn du dran bleibst, wirst du schnell Fortschritte machen. Nur nicht entmutigen lassen.



  • @It0101
    Habs jetzt hinbekommen. Allerdings klappt das mit unserem tollen, schon bestehendem Programm irgendwie nicht, da wird ein neues Fenster einfach darüber erstellt. Naja, da muss ich wohl hier mal nachfragen und hoffen, dass der Ersteller nicht nur in Rente ist sondern auch noch lebt..
    Trotzdem vielen Dank, hat mir schonmal weitergeholfen.



  • @bla1027
    Glückwunsch. Etwas mehr Übung und die nächsten Probleme lösen sich von allein. QT ist eigentlich größtenteils pflegeleicht.


Anmelden zum Antworten