QDesignerPropertyEditorInterface Class
Die Klasse QDesignerPropertyEditorInterface ermöglicht es, den aktuellen Zustand des Eigenschaftseditors von Qt Widgets Designer abzufragen und zu manipulieren. Mehr...
Kopfzeile: | #include <QDesignerPropertyEditorInterface> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Designer) target_link_libraries(mytarget PRIVATE Qt6::Designer) |
qmake: | QT += designer |
Vererbt: | QWidget |
Öffentliche Funktionen
QDesignerPropertyEditorInterface(QWidget *parent, Qt::WindowFlags flags = {}) | |
virtual | ~QDesignerPropertyEditorInterface() |
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) |
Detaillierte Beschreibung
QDesignerPropertyEditorInterface enthält eine Sammlung von Funktionen, die typischerweise verwendet werden, um den Eigenschaftseditor nach seinem aktuellen Zustand abzufragen, sowie mehrere Slots, die seinen Zustand manipulieren. Die Schnittstelle bietet auch ein Signal, propertyChanged(), das immer dann ausgegeben wird, wenn sich eine Eigenschaft im Eigenschaftseditor ändert. Die Argumente des Signals sind die geänderte Eigenschaft und ihr neuer Wert.
Wenn Sie zum Beispiel 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, die zu einem bestimmten Widget gehört, ä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 dazu gedacht, direkt instanziiert zu werden. Sie können eine Schnittstelle zu Qt Widgets Designers Eigenschaftseditor mit der Funktion QDesignerFormEditorInterface::propertyEditor() abrufen. Ein Zeiger auf Qt Widgets Designer's aktuelles QDesignerFormEditorInterface Objekt (formEditor
in den obigen Beispielen) wird durch den Parameter der Funktion QDesignerCustomWidgetInterface::initialize() bereitgestellt. Wenn Sie ein benutzerdefiniertes Widget-Plugin implementieren, müssen Sie die Subklasse QDesignerCustomWidgetInterface verwenden, um Ihr Plugin dem Qt Widgets Designer zur Verfügung zu stellen.
Die Funktionen, die auf den Eigenschaftseditor zugreifen, sind die Funktion core(), mit der Sie eine Schnittstelle zum Formular-Editor abrufen können, die Funktion currentPropertyName(), die den Namen der aktuell ausgewählten Eigenschaft im Eigenschaftseditor zurückgibt, die Funktion object(), die das aktuell ausgewählte Objekt im Arbeitsbereich von Qt Widgets Designer zurückgibt, und die Funktion isReadOnly(), die true zurückgibt, wenn der Eigenschaftseditor schreibgeschützt ist (sonst false).
Die Slots, die den Zustand des Eigenschaftseditors beeinflussen, sind der setObject()-Slot, mit dem Sie das aktuell ausgewählte Objekt im Qt Widgets Designer-Arbeitsbereich ändern können, der setPropertyValue()-Slot, der den Wert einer bestimmten Eigenschaft ändert und der setReadOnly()-Slot, der den Schreibschutz des Eigenschaftseditors steuert.
Siehe auch QDesignerFormEditorInterface.
Dokumentation der Mitgliedsfunktionen
[explicit]
QDesignerPropertyEditorInterface::QDesignerPropertyEditorInterface(QWidget *parent, Qt::WindowFlags flags = {})
Konstruiert eine Eigenschaftseditor-Schnittstelle mit der angegebenen parent und dem angegebenen Fenster flags.
[virtual noexcept]
QDesignerPropertyEditorInterface::~QDesignerPropertyEditorInterface()
Zerstört die Oberfläche des Eigenschaftseditors.
[virtual]
QDesignerFormEditorInterface *QDesignerPropertyEditorInterface::core() const
Gibt einen Zeiger auf das aktuelle QDesignerFormEditorInterface Objekt von 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 von Qt Widgets Designer zurück.
Siehe auch setObject().
[signal]
void QDesignerPropertyEditorInterface::propertyChanged(const QString &name, const QVariant &value)
Dieses Signal wird ausgegeben, 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 von Qt Widgets Designer 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.
Außerdem wird die Eigenschaft im Eigenschaftseditor als changed gekennzeichnet, d. h. ihr Wert unterscheidet sich vom Standardwert.
Siehe auch currentPropertyName() und propertyChanged().
[pure virtual slot]
void QDesignerPropertyEditorInterface::setReadOnly(bool readOnly)
Wenn readOnly wahr ist, wird der Eigenschaftseditor schreibgeschützt; andernfalls wird der Schreibschutz aufgehoben.
Siehe auch isReadOnly().
© 2025 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.