QDesignerPropertyEditorInterface Class
La classe QDesignerPropertyEditorInterface vous permet d'interroger et de manipuler l'état actuel de l'éditeur de propriétés de Qt Widgets Designer. Plus d'informations...
| En-tête : | #include <QDesignerPropertyEditorInterface> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Designer)target_link_libraries(mytarget PRIVATE Qt6::Designer) |
| qmake : | QT += designer |
| Héritages : | QWidget |
Fonctions publiques
| 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 |
Emplacements publics
| 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 |
Signaux
| void | propertyChanged(const QString &name, const QVariant &value) |
Description détaillée
QDesignerPropertyEditorInterface contient une collection de fonctions typiquement utilisées pour interroger l'éditeur de propriétés sur son état actuel, et plusieurs slots manipulant son état. L'interface fournit également un signal, propertyChanged(), qui est émis chaque fois qu'une propriété est modifiée dans l'éditeur de propriétés. Les arguments du signal sont la propriété qui a changé et sa nouvelle valeur.
Par exemple, lors de la mise en œuvre d'un plugin de widget personnalisé, vous pouvez connecter le signal à un slot personnalisé :
auto *propertyEditor = formEditor->propertyEditor(); connect(propertyEditor, &QDesignerPropertyEditorInterface::propertyChanged, this, &MyClass::checkProperty);
Le slot personnalisé peut alors vérifier si la nouvelle valeur se situe dans la fourchette souhaitée lorsqu'une propriété spécifiée, appartenant à un widget particulier, est modifiée :
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) {...} }
La classe QDesignerPropertyEditorInterface n'est pas destinée à être instanciée directement. Vous pouvez récupérer une interface de l'éditeur de propriétés de Qt Widgets Designer à l'aide de la fonction QDesignerFormEditorInterface::propertyEditor(). Un pointeur sur l'objet QDesignerFormEditorInterface actuel de Qt Widgets Designer(formEditor dans les exemples ci-dessus) est fourni par le paramètre de la fonction QDesignerCustomWidgetInterface::initialize(). Lorsque vous implémentez un plugin de widget personnalisé, vous devez sous-classer la fonction QDesignerCustomWidgetInterface pour exposer votre plugin à Qt Widgets Designer.
Les fonctions accédant à l'éditeur de propriétés sont la fonction core() que vous pouvez utiliser pour récupérer une interface vers l'éditeur de formulaires, la fonction currentPropertyName() qui renvoie le nom de la propriété actuellement sélectionnée dans l'éditeur de propriétés, la fonction object() qui renvoie l'objet actuellement sélectionné dans l'espace de travail Qt Widgets Designer, et la fonction isReadOnly() qui renvoie vrai si l'éditeur de propriétés est protégé en écriture (faux dans le cas contraire).
Les slots manipulant l'état de l'éditeur de propriétés sont le slot setObject() que vous pouvez utiliser pour changer l'objet actuellement sélectionné dans l'espace de travail Qt Widgets Designer, le slot setPropertyValue() qui change la valeur d'une propriété donnée et le slot setReadOnly() qui contrôle la protection en écriture de l'éditeur de propriétés.
Voir également QDesignerFormEditorInterface.
Documentation des fonctions membres
[explicit] QDesignerPropertyEditorInterface::QDesignerPropertyEditorInterface(QWidget *parent, Qt::WindowFlags flags = {})
Construit une interface d'éditeur de propriétés avec l'adresse parent donnée et la fenêtre spécifiée flags.
[override virtual noexcept] QDesignerPropertyEditorInterface::~QDesignerPropertyEditorInterface()
Détruit l'interface de l'éditeur de propriétés.
[virtual] QDesignerFormEditorInterface *QDesignerPropertyEditorInterface::core() const
Renvoie un pointeur sur l'objet Qt Widgets Designer's courant QDesignerFormEditorInterface.
[pure virtual] QString QDesignerPropertyEditorInterface::currentPropertyName() const
Renvoie le nom de la propriété actuellement sélectionnée dans l'éditeur de propriétés.
Voir aussi setPropertyValue().
[pure virtual] bool QDesignerPropertyEditorInterface::isReadOnly() const
Retourne true si l'éditeur de propriétés est protégé en écriture, sinon false.
Voir également setReadOnly().
[pure virtual] QObject *QDesignerPropertyEditorInterface::object() const
Renvoie l'objet actuellement sélectionné dans l'espace de travail de Qt Widgets Designer.
Voir aussi setObject().
[signal] void QDesignerPropertyEditorInterface::propertyChanged(const QString &name, const QVariant &value)
Ce signal est émis lorsqu'une propriété est modifiée dans l'éditeur de propriétés. La propriété qui a changé et sa nouvelle valeur sont spécifiées respectivement par name et value.
Voir aussi setPropertyValue().
[pure virtual slot] void QDesignerPropertyEditorInterface::setObject(QObject *object)
Change l'objet sélectionné dans l'espace de travail de Qt Widgets Designer en object.
Voir aussi object().
[pure virtual slot] void QDesignerPropertyEditorInterface::setPropertyValue(const QString &name, const QVariant &value, bool changed = true)
Définit la valeur de la propriété spécifiée par name à value.
En outre, la propriété est marquée comme changed dans l'éditeur de propriétés, c'est-à-dire que sa valeur est différente de la valeur par défaut.
Voir également currentPropertyName() et propertyChanged().
[pure virtual slot] void QDesignerPropertyEditorInterface::setReadOnly(bool readOnly)
Si readOnly est vrai, l'éditeur de propriétés est protégé en écriture ; sinon, la protection en écriture est supprimée.
Voir également 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.