Frage

Wie Overlay-I-Widgets in Qt?

Ich möchte ein paar Widgets erstellen und legen Sie sie out-of-Layout, sondern ihre Größe und Position zwicken, wenn einige andere Widgets Geometrie geändert wird.

So etwas wie die Tasten auf dem Screenshot:

alt text

War es hilfreich?

Lösung

Sie müssen nur Ihre QPushButton (oder jede QWidget) erstellen, geben ihre Mutter QWidget und dann angezeigt werden.

Fügen Sie es nicht auf das übergeordnete Layout sonst werden Sie nicht in der Lage sein, sie zu bewegen, wie Sie wollen.

Vergessen Sie nicht, ihre Eltern zu zeigen, sonst wird es als unabhängiger QWidget angezeigt werden.

Unter diesen Bedingungen Ihre QPushButton wird als Kind des QWidget in Betracht gezogen werden, aber nicht Mitglied des Layouts der Eltern. So wird es eine „schwebende“ Kind sein und Sie müssen verwalten sie das Verhalten ist, wenn Eltern QWidget Größe ändern.

Wenn Sie ein einheitliches Verhalten für alle Overlay-Schaltflächen wollen, sollten Sie eine Unterklasse QLayout und Mitglieder bahaviour neu zu definieren.

Andere Tipps

Wenn sie Kind eines Widgets ohne Layout sind, sollten Sie in der Lage sein, sie zu bewegen, wie du willst, denke ich.

Ich brauchte einen Widget, wie dies für ein Projekt arbeite ich an, so nahm ich Patrice Rat und schrieb diesen Code (Python) PyQt4 Widget Overlay

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top