Spec-Zone.ru › Qt 5.9

Класс QItemEditorCreatorBase

Класс QItemEditorCreatorBase предоставляет абстрактный базовый класс, который необходимо наследовать при реализации новых создателей редакторов элементов. Подробнее...

Заголовок: #include <QItemEditorCreatorBase>
qmake: QT += widgets
С момента: Qt 4.2
Наследуется от:

QItemEditorCreator и QStandardItemEditorCreator

  • Список всех членов, включая унаследованные

Открытые функции

virtual ~QItemEditorCreatorBase()
virtual QWidget * createWidget(QWidget *parent) const = 0
virtual QByteArray valuePropertyName() const = 0

Подробное описание

Класс QItemEditorCreatorBase предоставляет абстрактный базовый класс, который необходимо наследовать при реализации новых создателей редакторов элементов.

Объекты QItemEditorCreatorBase представляют собой специализированные фабрики виджетов, которые предоставляют виджеты редактирования для одного конкретного типа данных QVariant. Они используются классом QItemEditorFactory для создания редакторов для QItemDelegate. Базовые классы создателей должны быть зарегистрированы с помощью QItemEditorFactory::registerEditor().

Редактор должен предоставлять пользовательское свойство для данных, которые он редактирует. QItemDelagates могут затем получить доступ к свойству, используя механизм метаобъектов Qt, для установки и извлечения данных редактирования. Свойство устанавливается как пользовательское свойство с ключевым словом USER:

Q_PROPERTY(QColor color READ color WRITE setColor USER true)

Если редактор не предоставляет пользовательского свойства, он должен возвращать имя свойства из valuePropertyName(); делегаты затем будут использовать имя для доступа к свойству. Если пользовательское свойство существует, делегаты элементов не будут вызывать valuePropertyName().

QStandardItemEditorCreator — это удобный шаблонный класс, который можно использовать для регистрации виджетов без необходимости наследования от QItemEditorCreatorBase.

См. также QStandardItemEditorCreator, QItemEditorFactory, Программирование модели/представления и Пример фабрики редактора цвета.

Документация по функциям-членам

[virtual] QItemEditorCreatorBase::~QItemEditorCreatorBase()

Удаляет объект создателя редактора.

[pure virtual] QWidget *QItemEditorCreatorBase::createWidget(QWidget *parent) const

Возвращает виджет редактора с заданным parent.

При реализации этой функции в подклассах этого класса, вы должны создать и вернуть новые виджеты редактора с указанным родительским виджетом.

[pure virtual] QByteArray QItemEditorCreatorBase::valuePropertyName() const

Возвращает имя свойства, используемого для получения и установки значений в виджетах редактора создателя.

При реализации этой функции в подклассах, вы должны убедиться, что свойство виджета редактора, указанное этой функцией, может принимать тип, для которого зарегистрирован создатель. Например, создатель, который строит виджеты QCheckBox для редактирования булевых значений, вернет имя свойства checkable из этой функции и должен быть зарегистрирован в фабрике редакторов элементов для типа QVariant::Bool.

Примечание: начиная с Qt 4.2, делегаты элементов запросы пользовательские свойства виджетов, и вызывают эту функцию только если у виджета нет пользовательского свойства. Вы можете переопределить это поведение, переопределив QAbstractItemDelegate::setModelData() и QAbstractItemDelegate::setEditorData().

См. также QMetaObject::userProperty() и QItemEditorFactory::registerEditor().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qitemeditorcreatorbase.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API