Spec-Zone.ru › Qt 5.11

Класс 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().

Редактор должен предоставлять пользовательское свойство для данных, которые он редактирует. Классы QItemDelegate затем могут получить доступ к свойству с помощью механизма 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/archives/qt-5.11/qitemeditorcreatorbase.html

Spec-Zone.ru

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