12 Stimmen

Qt Designer; Schwierigkeiten beim Platzieren von Widgets im richtigen Parent

Mit dem Qt Designer habe ich ein paar QFrames ineinander gesetzt, die jeweils ein horizontales Layout haben. Ihr Stylesheet gibt vor, dass sie weder einen Rand noch ein Padding haben sollten. Das bedeutet, dass sowohl in der Ansicht des Qt-Designers als auch im Endergebnis kein Abstand zwischen den QFrames zu sehen ist.

Durch Ziehen und Ablegen kann ich Widgets im Fenster platzieren, es wird eine blaue Linie angezeigt, wo sie platziert werden (in einem Layout). Es ist jedoch nicht möglich, einen anderen QFrame zu einem übergeordneten QFrame hinzuzufügen, den ich nicht sehen kann (und auf den ich daher ziehen kann). Es gibt auch einen Baum in der rechten Leiste, aber Drop auf die übergeordnete macht es automatisch in einem der Kinder gehen...

Ein Beispiel: Ich habe diese Einstellung:

QMainWindow
- QWidget
  - QFrame (parent)
    - QFrame (child)
    - QFrame (child)

Das Hinzufügen eines neuen Rahmens, was immer ich auch versuche, führt zu Problemen:

QMainWindow
- QWidget
  - QFrame (parent)
    - QFrame (child)
    - QFrame (child)
    - QFrame (new child)

Aber ich will es wirklich:

QMainWindow
- QWidget
  - QFrame (parent)
    - QFrame (child)
    - QFrame (child)
  - QFrame (new parent)

Gibt es eine Funktion, die ich noch nicht entdeckt habe, um neue Widgets genau zu platzieren?

8voto

Eine Lösung, die ich verwendet habe, besteht darin, das Widget auszuwählen, dem ich etwas hinzufügen möchte, dem Layout dieses Widgets einen Rand hinzuzufügen, das Widget zu ziehen und abzulegen und dann den Rand wieder zu entfernen. Auf diese Weise bekomme ich es wenigstens in das richtige Widget.

6voto

jkerian Punkte 15571

Sie können das Fenster Objektinspektor verwenden, aber Sie scheinen nicht in der Lage zu sein, in einen QFrame einzufügen, der ein gesperrtes Layout hat.

Angesichts Ihres Layouts:

QMainWindow
- QWidget
  - QFrame (A)
    - QFrame (B)
    - QFrame (C)
    - QFrame (D)

Wählen Sie QFrame D im Fenster Object Inspector und schneiden Sie es aus, klicken Sie mit der rechten Maustaste auf QWidget und brechen Sie das Layout ab (ctrl-0), dann fügen Sie es ein. Wenden Sie dann das Layout erneut an.

1voto

RvdK Punkte 19035

In Qt Creator 4.3 fand ich es auch schwierig, ein Element in ein Layout zu ziehen, das noch keine Elemente hat.

Der einfachste Weg, es zum Laufen zu bringen, ist das Hinzufügen der Layout in die Form. Ziehen Sie dann Ihr Element aus dem Bereich Toolbox auf das Layout in der Object Inspecter Window . Dadurch wird das Element in die Layout .

Unbekannt, ob dies für ältere Versionen von Qt Creator funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X