QSqlRelationalDelegate 类
QSqlRelationalDelegate 类提供了一个委托,用于显示和编辑来自 QSqlRelationalTableModel 的数据。更多...
头文件 | #include <QSqlRelationalDelegate> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Sql) target_link_libraries(mytarget PRIVATE Qt6::Sql) |
qmake | QT += sql |
继承 | QStyledItemDelegate |
公共函数
QSqlRelationalDelegate(QObject *parent = nullptr) | |
虚拟 | ~QSqlRelationalDelegate() |
重写公共函数
虚拟 QWidget * | createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override |
虚拟 void | setModelData(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
[重写虚函数]
void QSqlRelationalDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
© 2024 Qt公司有限公司。本文档中的贡献归相应所有者所有。本文档是根据自由软件基金会发布的 GNU自由文档许可证1.3版 许可的。Qt及其相关标志是芬兰的Qt公司及其在全球的子公司和关联公司的商标。所有其他商标均为其各自所有者的财产。