Auf dieser Seite

Qt Widgets Bearbeitungsmodus für Signale und Slots im Designer

Screenshot des Verbindungsmodus im <span translate=Qt Widgets Designer, der die Verbindung von Signalen zwischen zwei Widgets zeigt" src="images/designer-connection-mode.png" title="Screenshot des Verbindungsmodus im Qt Widgets Designer, der die Verbindung von Signalen zwischen zwei Widgets zeigt"/>

Im Bearbeitungsmodus für Signale und Slots des „ Qt Widgets “-Designers können Sie Objekte in einem Formular mithilfe des Qt-Mechanismus für Signale und Slots miteinander verbinden. Sowohl Widgets als auch Layouts lassen sich über eine intuitive Verbindungsoberfläche verbinden, wobei das Menü der kompatiblen Signale und Slots genutzt wird, das vom „ Qt Widgets “-Designer bereitgestellt wird. Beim Speichern eines Formulars bleiben alle Verbindungen erhalten, sodass sie beim Erstellen Ihres Projekts einsatzbereit sind.

Weitere Informationen zum Signal- und Slot-Mechanismus von Qt finden Sie im Dokument „Signale und Slots “.

Objekte verbinden

Um mit der Verknüpfung von Objekten zu beginnen, rufen Sie den Bearbeitungsmodus für Signale und Slots auf, indem Sie das Menü „Bearbeiten“ öffnen und „Signale/Slots bearbeiten“ auswählen oder die Taste F4 drücken.

Alle Widgets und Layouts auf dem Formular können miteinander verbunden werden. Abstandshalter dienen jedoch lediglich als Abstandshinweise für Layouts und können daher nicht mit anderen Objekten verbunden werden.

Screenshot, der ein Widget eines hervorgehobenen Layouts zeigtHervorgehobene Objekte

Befindet sich der Cursor über einem Objekt, das für eine Verbindung verwendet werden kann, wird das Objekt hervorgehoben.

Um eine Verbindung herzustellen, drücken Sie die linke Maustaste und ziehen Sie den Cursor auf das Objekt, mit dem Sie eine Verbindung herstellen möchten. Dabei erstreckt sich eine Linie vom Quellobjekt zum Cursor. Befindet sich der Cursor über einem anderen Objekt im Formular, endet die Linie mit einer Pfeilspitze, die auf das Zielobjekt zeigt. Dies zeigt an, dass beim Loslassen der Maustaste eine Verbindung zwischen den beiden Objekten hergestellt wird.

Sie können die Verbindung jederzeit während des Ziehens des Verbindungswegs abbrechen, indem Sie die Esc-Taste drücken.

Screenshot, der zeigt, wie man ein Widget mit einem anderen verbindet, indem man mit der linken Maustaste auf das gewünschte Widget klickt, mit dem es verbunden werden sollEine Verbindung herstellen

Der Verbindungsweg ändert seine Form, während sich der Cursor über das Formular bewegt. Wenn er über Objekte fährt, werden diese hervorgehoben, was darauf hinweist, dass sie für eine Signal- und Slot-Verbindung verwendet werden können. Lassen Sie die Maustaste los, um die Verbindung herzustellen.

Es wird der Dialog „Verbindung konfigurieren“ (unten) angezeigt, in dem die Signale des Quellobjekts und die Slots des Zielobjekts aufgeführt sind, die Sie verwenden können.

Screenshot eines Fensters, in dem die Signale aufgelistet sind, die zwischen zwei ausgewählten Widgets gesendet werden können

Um die Verbindung herzustellen, wählen Sie ein Signal aus dem Quellobjekt und einen Slot aus dem Zielobjekt aus und klicken Sie dann auf „OK“. Klicken Sie auf „Abbrechen“, wenn Sie die Verbindung nicht herstellen möchten.

Hinweis: Wenn das Kontrollkästchen „Alle Signale und Slots anzeigen“ aktiviert ist, werden alle verfügbaren Signale des Quellobjekts angezeigt. Andernfalls werden die von „ QWidget “ geerbten Signale und Slots ausgeblendet.

Sie können beliebig viele Verbindungen zwischen Objekten auf dem Formular herstellen; es ist möglich, Signale von Objekten mit Slots im Formular selbst zu verbinden. Dadurch lassen sich die Signal- und Slot-Verbindungen in vielen Dialogfeldern vollständig innerhalb des „ Qt Widgets Designer“ konfigurieren.

Screenshot, der einen Pfeil zeigt, der von einem Widget ausgeht und dem Cursor folgt, um ein Widget auszuwählen, das die Signale empfängtVerbindung zu einem Formular herstellen

Um ein Objekt mit dem Formular selbst zu verbinden, positionieren Sie den Cursor einfach über dem Formular und lassen Sie die Maustaste los. Der Endpunkt der Verbindung verwandelt sich in das Symbol für die elektrische „Masse“.

Verbindungen bearbeiten und löschen

Standardmäßig werden Verbindungspfade mit zwei Beschriftungen erstellt, die das Signal und den Slot anzeigen, die an der Verbindung beteiligt sind. Diese Beschriftungen sind in der Regel entlang der Verbindungslinie ausgerichtet. Sie können sie innerhalb ihrer Host-Widgets verschieben, indem Sie das rote Quadrat an jedem Ende des Verbindungspfads ziehen.

Screenshot des Signal- und Slot-Editors von Qt Designer, der die Verbindungen zwischen einem „okButton“ und einem „cancelButton“ zeigt, wobei sowohl der „okButton“ als auch der „cancelButton“ ein „clicked()“-Signal senden. Der „okButton“ löst die Funktion „accept()“ aus, der „cancelButton“ die Funktion „reject()“.Der Signal-/Slot-Editor

Das in einer Verbindung verwendete Signal und der Slot können nach dem Einrichten geändert werden. Sobald eine Verbindung konfiguriert ist, wird sie im Signal- und Slot- Qt Widgets -Designer angezeigt, wo sie weiter bearbeitet werden kann. Sie können Signal-/Slot-Verbindungen auch bearbeiten, indem Sie auf den Verbindungspfad oder eine der Beschriftungen doppelklicken, um das Verbindungsdialogfeld anzuzeigen.

Screenshot, der den Bearbeitungsmodus für Verbindungen zeigt, in dem die Signale zwischen zwei Widgets geändert werden könnenVerbindungen löschen

Die gesamte Verbindung kann durch Klicken auf eines ihrer Pfadsegmente ausgewählt werden. Nach der Auswahl kann eine Verbindung mit der Entf-Taste gelöscht werden, wodurch sichergestellt wird, dass sie nicht in der UI-Datei eingerichtet wird.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.