Spec-Zone.ru › Qt 5.12

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

Авторские права

Spec-Zone.ru

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