Spec-Zone.ru › Qt 5.6

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

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

~QItemEditorFactory::~QItemEditorFactory()

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

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

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

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

const QItemEditorFactory *QItemEditorFactory::defaultFactory()

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

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

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

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

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

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

void QItemEditorFactory::setDefaultFactory(QItemEditorFactory *factory)

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

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

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/archives/qt-5.6/qitemeditorfactory.html

Spec-Zone.ru

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