Spec-Zone.ru › Qt 5.12

Класс 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 для создания редакторов для QItemDelegates. Базовые классы создателей должны быть зарегистрированы с помощью 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.12/qitemeditorcreatorbase.html

Spec-Zone.ru

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