Auf dieser Seite

QDesignerPropertyEditorInterface Class

Die Klasse „QDesignerPropertyEditorInterface“ ermöglicht es Ihnen, den aktuellen Zustand des Eigenschaftseditors des „ Qt Widgets “-Designers abzufragen und zu bearbeiten. Mehr...

Überschrift: #include <QDesignerPropertyEditorInterface>
CMake: find_package(Qt6 REQUIRED COMPONENTS Designer)
target_link_libraries(mytarget PRIVATE Qt6::Designer)
qmake: QT += designer
Erbt von: QWidget

Öffentliche Funktionen

QDesignerPropertyEditorInterface(QWidget *parent, Qt::WindowFlags flags = {})
virtual ~QDesignerPropertyEditorInterface() override
virtual QDesignerFormEditorInterface *core() const
virtual QString currentPropertyName() const = 0
virtual bool isReadOnly() const = 0
virtual QObject *object() const = 0

Öffentliche Slots

virtual void setObject(QObject *object) = 0
virtual void setPropertyValue(const QString &name, const QVariant &value, bool changed = true) = 0
virtual void setReadOnly(bool readOnly) = 0

Signale

void propertyChanged(const QString &name, const QVariant &value)

Ausführliche Beschreibung

QDesignerPropertyEditorInterface enthält eine Sammlung von Funktionen, die typischerweise dazu dienen, den Eigenschaftseditor nach seinem aktuellen Zustand abzufragen, sowie mehrere Slots, die seinen Zustand manipulieren. Die Schnittstelle stellt außerdem ein Signal bereit: „ propertyChanged()“, das immer dann ausgelöst wird, wenn sich eine Eigenschaft im Eigenschaftseditor ändert. Die Argumente des Signals sind die geänderte Eigenschaft und ihr neuer Wert.

Wenn Sie beispielsweise ein benutzerdefiniertes Widget-Plugin implementieren, können Sie das Signal mit einem benutzerdefinierten Slot verbinden:

        auto *propertyEditor = formEditor->propertyEditor();

        connect(propertyEditor, &QDesignerPropertyEditorInterface::propertyChanged,
                this, &MyClass::checkProperty);

Dann kann der benutzerdefinierte Slot prüfen, ob der neue Wert innerhalb des gewünschten Bereichs liegt, wenn sich eine bestimmte Eigenschaft eines bestimmten Widgets ändert:

        void checkProperty(const QString &property, const QVariant &value)
        {
            auto *propertyEditor = formEditor->propertyEditor();

            auto *object = propertyeditor->object();
            auto *widget = qobject_cast<MyCustomWidget *>(object);

            if (widget && property == aProperty && value != expectedValue)
                {...}
        }

Die Klasse `QDesignerPropertyEditorInterface` ist nicht dafür vorgesehen, direkt instanziiert zu werden. Sie können eine Schnittstelle zum Eigenschaftseditor von „ Qt Widgets “ Designer mithilfe der Funktion ` QDesignerFormEditorInterface::propertyEditor()` abrufen. Ein Zeiger auf das aktuelle ` QDesignerFormEditorInterface `-Objekt von „ Qt Widgets “ Designer (in den obigen Beispielen `formEditor `) wird über den Parameter der Funktion ` QDesignerCustomWidgetInterface::initialize()` bereitgestellt. Bei der Implementierung eines benutzerdefinierten Widget-Plugins müssen Sie eine Unterklasse von ` QDesignerCustomWidgetInterface ` erstellen, um Ihr Plugin für „ Qt Widgets “ Designer verfügbar zu machen.

Die Funktionen, die auf den Eigenschaftseditor zugreifen, sind die Funktion ` core()`, mit der Sie eine Schnittstelle zum Formulareditor abrufen können, die Funktion ` currentPropertyName()`, die den Namen der aktuell im Eigenschaftseditor ausgewählten Eigenschaft zurückgibt, die Funktion ` object()`, die das aktuell im Arbeitsbereich des „ Qt Widgets “-Designers ausgewählte Objekt zurückgibt, sowie die Funktion ` isReadOnly()`, die `true` zurückgibt, wenn der Eigenschaftseditor schreibgeschützt ist (ansonsten `false`).

Die Slots, die den Zustand des Eigenschafteneditors steuern, sind der Slot „ setObject()“, mit dem Sie das aktuell ausgewählte Objekt im Arbeitsbereich des „ Qt Widgets “-Designers ändern können, der Slot „ setPropertyValue()“, der den Wert einer bestimmten Eigenschaft ändert, und der Slot „ setReadOnly()“, der den Schreibschutz des Eigenschafteneditors steuert.

Siehe auch „ QDesignerFormEditorInterface “.

Dokumentation zu den Member-Funktionen

[explicit] QDesignerPropertyEditorInterface::QDesignerPropertyEditorInterface(QWidget *parent, Qt::WindowFlags flags = {})

Erstellt eine Schnittstelle für den Eigenschaftseditor mit der angegebenen Adresse „ parent “ und dem angegebenen Fenster „ flags “.

[override virtual noexcept] QDesignerPropertyEditorInterface::~QDesignerPropertyEditorInterface()

Löst die Benutzeroberfläche des Eigenschaftseditors auf.

[virtual] QDesignerFormEditorInterface *QDesignerPropertyEditorInterface::core() const

Gibt einen Zeiger auf das aktuelle „ QDesignerFormEditorInterface “-Objekt des „ Qt Widgets Designer“ zurück.

[pure virtual] QString QDesignerPropertyEditorInterface::currentPropertyName() const

Gibt den Namen der aktuell ausgewählten Eigenschaft im Eigenschaftseditor zurück.

Siehe auch „ setPropertyValue()“.

[pure virtual] bool QDesignerPropertyEditorInterface::isReadOnly() const

Gibt „true“ zurück, wenn der Eigenschaftseditor schreibgeschützt ist; andernfalls „false“.

Siehe auch „ setReadOnly()“.

[pure virtual] QObject *QDesignerPropertyEditorInterface::object() const

Gibt das aktuell ausgewählte Objekt im Arbeitsbereich des „ Qt Widgets “-Designers zurück.

Siehe auch ` setObject()`.

[signal] void QDesignerPropertyEditorInterface::propertyChanged(const QString &name, const QVariant &value)

Dieses Signal wird immer dann ausgelöst, wenn sich eine Eigenschaft im Eigenschaftseditor ändert. Die geänderte Eigenschaft und ihr neuer Wert werden durch „ name “ bzw. „ value “ angegeben.

Siehe auch setPropertyValue().

[pure virtual slot] void QDesignerPropertyEditorInterface::setObject(QObject *object)

Ändert das aktuell ausgewählte Objekt im Arbeitsbereich des „ Qt Widgets “-Designers in „ object “.

Siehe auch „ object()“.

[pure virtual slot] void QDesignerPropertyEditorInterface::setPropertyValue(const QString &name, const QVariant &value, bool changed = true)

Setzt den Wert der durch „ name “ angegebenen Eigenschaft auf „ value “.

Zudem wird die Eigenschaft im Eigenschaftseditor als „ changed “ gekennzeichnet, d. h., ihr Wert weicht vom Standardwert ab.

Siehe auch „ currentPropertyName()“ und „ propertyChanged()“.

[pure virtual slot] void QDesignerPropertyEditorInterface::setReadOnly(bool readOnly)

Ist „ readOnly “ wahr, wird der Eigenschaftseditor schreibgeschützt; andernfalls wird der Schreibschutz aufgehoben.

Siehe auch isReadOnly().

© 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.