Spec-Zone.ru › Qt 5.9

Класс QItemEditorFactory

Класс QItemEditorFactory предоставляет виджеты для редактирования данных элементов в представлениях и делегатах. Подробнее...

Заголовок: #include <QItemEditorFactory>
qmake: QT += widgets
С тех пор: Qt 4.2
  • Список всех членов, включая унаследованные

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

QItemEditorFactory()
virtual ~QItemEditorFactory()
virtual QWidget * createEditor(int userType, QWidget *parent) const
void registerEditor(int userType, QItemEditorCreatorBase *creator)
virtual QByteArray valuePropertyName(int userType) const

Статические открытые члены

const QItemEditorFactory * defaultFactory()
void setDefaultFactory(QItemEditorFactory *factory)

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

Класс QItemEditorFactory предоставляет виджеты для редактирования данных элементов в представлениях и делегатах.

При редактировании данных в представлении элементов редакторы создаются и отображаются делегатом. QItemDelegate, который по умолчанию устанавливается в представлениях элементов Qt, использует QItemEditorFactory для создания редакторов. По умолчанию используется единственный экземпляр, предоставляемый QItemEditorFactory, который используется всеми делегатами элементов. Если вы установите новый фабричный объект по умолчанию с помощью setDefaultFactory(), этот новый фабричный объект будет использоваться существующими и новыми делегатами.

Фабрика хранит коллекцию объектов QItemEditorCreatorBase, которые являются специализированными редакторами, производящими редакторы для определённого типа данных QVariant (все модели Qt хранят свои данные в QVariant).

Стандартные виджеты редактирования

Стандартная реализация фабрики предоставляет редакторы для различных типов данных. Они создаются всякий раз, когда делегат должен предоставить редактор для данных, предоставленных моделью. Следующая таблица показывает соответствие между типами и стандартными редакторами:

Тип Виджет редактора
bool QComboBox
double QDoubleSpinBox
int QSpinBox
unsigned int
QDate QDateEdit
QDateTime QDateTimeEdit
QPixmap QLabel
QString QLineEdit
QTime QTimeEdit

Дополнительные редакторы могут быть зарегистрированы с помощью функции registerEditor().

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

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

QItemEditorFactory::QItemEditorFactory()

Конструктор нового фабричного объекта редактора элементов.

[virtual] QItemEditorFactory::~QItemEditorFactory()

Деструктор фабрики редактора элементов.

[virtual] QWidget *QItemEditorFactory::createEditor(int userType, QWidget *parent) const

Создаёт виджет редактора с заданным parent для указанного типа данных userType и возвращает его как QWidget.

См. также registerEditor().

[static] const QItemEditorFactory *QItemEditorFactory::defaultFactory()

Возвращает фабрику редакторов элементов по умолчанию.

См. также setDefaultFactory().

void QItemEditorFactory::registerEditor(int userType, QItemEditorCreatorBase *creator)

Регистрирует создатель редактора элементов, указанный параметром creator, для заданного типа данных userType.

Примечание: Фабрика принимает на владение создателя редактора элементов и уничтожит его, если позже будет зарегистрирован новый создатель для того же типа.

См. также createEditor().

[static] void QItemEditorFactory::setDefaultFactory(QItemEditorFactory *factory)

Устанавливает фабрику редакторов элементов по умолчанию в заданную factory. Как новые, так и существующие делегаты будут использовать новую фабрику.

См. также defaultFactory().

[virtual] QByteArray QItemEditorFactory::valuePropertyName(int userType) const

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

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

Spec-Zone.ru

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