QDesignerPropertyEditorInterface Class
La classe `QDesignerPropertyEditorInterface` vous permet d'interroger et de modifier l'état actuel de l'éditeur de propriétés d'Qt Widgets Designer. En savoir plus...
| En-tête : | #include <QDesignerPropertyEditorInterface> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Designer) target_link_libraries(mytarget PRIVATE Qt6::Designer) |
| qmake : | QT += designer |
| Hérite de : | 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 |
Slots 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 un ensemble de fonctions généralement utilisées pour interroger l'éditeur de propriétés sur son état actuel, ainsi que plusieurs slots permettant de manipuler cet état. L'interface fournit également un signal, propertyChanged(), qui est émis chaque fois qu'une propriété change 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 l’implémentation d’un plugin de widget personnalisé, vous pouvez connecter ce 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 plage souhaitée lorsqu’une propriété spécifiée, appartenant à un widget particulier, change :
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 vers l’éditeur de propriétés d’ Qt Widgets Designer à l’aide de la fonction QDesignerFormEditorInterface::propertyEditor(). Un pointeur vers l’objet QDesignerFormEditorInterface actuel d’ Qt Widgets Designer (formEditor dans les exemples ci-dessus) est fourni par le paramètre de la fonction QDesignerCustomWidgetInterface::initialize(). Lors de l’implémentation d’un plugin de widget personnalisé, vous devez créer une sous-classe de QDesignerCustomWidgetInterface afin d’exposer votre plugin à Qt Widgets Designer.
Les fonctions permettant d’accéder à l’éditeur de propriétés sont la fonction core() que vous pouvez utiliser pour récupérer une interface vers l’éditeur de formulaire, 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 de Qt Widgets Designer, et la fonction ` isReadOnly()` qui renvoie `true` si l’éditeur de propriétés est protégé en écriture (sinon `false`).
Les slots permettant de manipuler l’état de l’éditeur de propriétés sont le slot « setObject() », que vous pouvez utiliser pour modifier l’objet actuellement sélectionné dans l’espace de travail du concepteur « Qt Widgets », le slot « setPropertyValue() », qui modifie 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 sur les fonctions membres
[explicit] QDesignerPropertyEditorInterface::QDesignerPropertyEditorInterface(QWidget *parent, Qt::WindowFlags flags = {})
Crée une interface d'éditeur de propriétés avec l'parent donné et la fenêtre spécifiée flags.
[override virtual noexcept] QDesignerPropertyEditorInterface::~QDesignerPropertyEditorInterface()
Ferme l'interface de l'éditeur de propriétés.
[virtual] QDesignerFormEditorInterface *QDesignerPropertyEditorInterface::core() const
Qt Widgets Renvoie un pointeur vers l'objet « QDesignerFormEditorInterface » actuel de Designer.
[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 également setPropertyValue().
[pure virtual] bool QDesignerPropertyEditorInterface::isReadOnly() const
Renvoie « true » si l'éditeur de propriété est protégé en écriture ; sinon, « false ».
Voir aussi setReadOnly().
[pure virtual] QObject *QDesignerPropertyEditorInterface::object() const
Renvoie l'objet actuellement sélectionné dans l'espace de travail d'Qt Widgets Designer.
Voir aussi setObject().
[signal] void QDesignerPropertyEditorInterface::propertyChanged(const QString &name, const QVariant &value)
Ce signal est émis chaque fois qu'une propriété est modifiée dans l'éditeur de propriétés. La propriété qui a été modifiée et sa nouvelle valeur sont respectivement indiquées par name et value.
Voir également setPropertyValue().
[pure virtual slot] void QDesignerPropertyEditorInterface::setObject(QObject *object)
Permet de remplacer l'objet actuellement sélectionné dans l'espace de travail d'Qt Widgets Designer par object.
Voir également 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 » sur « value ».
De plus, 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 la valeur de readOnly est « true », l'éditeur de propriétés est protégé en écriture ; dans le cas contraire, la protection en écriture est désactivé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.