Класс QStandardItemEditorCreator
Класс QStandardItemEditorCreator предоставляет возможность регистрировать виджеты без необходимости создания подклассов QItemEditorCreatorBase. Подробнее...
| Заголовок: | #include <QStandardItemEditorCreator> |
| qmake: | QT += widgets |
| С тех пор: | Qt 4.2 |
| Наследует: | QItemEditorCreatorBase |
Этот класс был представлен в Qt 4.2.
Открытые функции
| QStandardItemEditorCreator() |
Переопределённые открытые функции
| virtual QWidget * | createWidget(QWidget *parent) const override |
| virtual QByteArray | valuePropertyName() const override |
Подробное описание
Этот шаблонный класс удобства позволяет регистрировать виджеты, без необходимости создания подклассов QItemEditorCreatorBase.
Пример:
QItemEditorFactory *editorFactory = new QItemEditorFactory; QItemEditorCreatorBase *creator = new QStandardItemEditorCreator<MyFancyDateTimeEdit>(); editorFactory->registerEditor(QVariant::DateType, creator);
Установка editorFactory выше в делегате элементов через QStyledItemDelegate::setItemEditorFactory() гарантирует, что все значения типа QVariant::DateTime будут отредактированы в MyFancyDateTimeEdit.
Редактор должен предоставить пользовательское свойство, которое будет содержать данные редактирования. Свойство используется делегатами QStyledItemDelegate для установки и получения данных (используя механизм метаобъектов Qt). Вы устанавливаете пользовательское свойство с ключевым словом USER:
Q_PROPERTY(QColor color READ color WRITE setColor USER true)
См. также QItemEditorCreatorBase, QItemEditorCreator, QItemEditorFactory, QStyledItemDelegate и Пример делегата редактора цвета.
Документация по функциям-членам
QStandardItemEditorCreator::QStandardItemEditorCreator()
Конструирует объект создателя редактора.
[override virtual] QWidget *QStandardItemEditorCreator::createWidget(QWidget *parent) const
Переопределяет: QItemEditorCreatorBase::createWidget(QWidget *parent) const.
[override virtual] QByteArray QStandardItemEditorCreator::valuePropertyName() const
Переопределяет: QItemEditorCreatorBase::valuePropertyName() const.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qstandarditemeditorcreator.html