Spec-Zone.ru › Qt

Класс QSqlRelationalDelegate

Класс QSqlRelationalDelegate предоставляет делегат, используемый для отображения и редактирования данных из QSqlRelationalTableModel. Подробнее...

Заголовок: #include <QSqlRelationalDelegate>
CMake: find_package(Qt6 COMPONENTS Sql REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Sql)
qmake: QT += sql
Наследует: QStyledItemDelegate
  • Список всех членов, включая унаследованные

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

QSqlRelationalDelegate(QObject *parent = nullptr)
virtual ~QSqlRelationalDelegate()

Переопределённые открытые функции

virtual QWidget * createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override
virtual void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override

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

В отличие от стандартного делегата, QSqlRelationalDelegate предоставляет раскрывающийся список (combobox) для полей, являющихся внешними ключами в другие таблицы. Для использования класса, просто вызовите QAbstractItemView::setItemDelegate() на представлении с экземпляром QSqlRelationalDelegate:

    std::unique_ptr<QTableView> view{new QTableView};
    view->setModel(model);
    view->setItemDelegate(new QSqlRelationalDelegate(view.get()));

Пример модели реляционной таблицы (показанный ниже) иллюстрирует, как использовать QSqlRelationalDelegate вместе с QSqlRelationalTableModel для предоставления таблицам поддержки внешних ключей.

См. также QSqlRelationalTableModel и Программирование модели/представления.

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

QSqlRelationalDelegate::QSqlRelationalDelegate(QObject *parent = nullptr)

Конструктор объекта QSqlRelationalDelegate с заданным parent.

[virtual] QSqlRelationalDelegate::~QSqlRelationalDelegate()

Деструктор объекта QSqlRelationalDelegate и освобождение всех выделенных ресурсов.

[override virtual] QWidget *QSqlRelationalDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const

Переопределяет: QStyledItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const.

[override virtual] void QSqlRelationalDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const

Переопределяет: QStyledItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const.

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

Spec-Zone.ru

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