QSqlRelationalDelegate 类

QSqlRelationalDelegate 类提供了一个委托,用于显示和编辑来自 QSqlRelationalTableModel 的数据。更多...

头文件 #include <QSqlRelationalDelegate>
CMakefind_package(Qt6 REQUIRED COMPONENTS Sql)
target_link_libraries(mytarget PRIVATE Qt6::Sql)
qmakeQT += sql
继承 QStyledItemDelegate

公共函数

QSqlRelationalDelegate(QObject *parent = nullptr)
虚拟~QSqlRelationalDelegate()

重写公共函数

虚拟 QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override
虚拟 voidsetModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override

详细描述

与默认委托不同,QSqlRelationalDelegate 为其他表的外键字段提供了组合框。要使用此类,只需在视图中调用 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 对象。

[虚拟 noexcept] QSqlRelationalDelegate::~QSqlRelationalDelegate()

销毁 QSqlRelationalDelegate 对象并释放任何已分配的资源。

[覆盖虚拟] QWidget *QSqlRelationalDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const

重写: QStyledItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const

[重写虚函数] void QSqlRelationalDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const

重写自: QStyledItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const.

© 2024 Qt公司有限公司。本文档中的贡献归相应所有者所有。本文档是根据自由软件基金会发布的 GNU自由文档许可证1.3版 许可的。Qt及其相关标志是芬兰的Qt公司及其在全球的子公司和关联公司的商标。所有其他商标均为其各自所有者的财产。