The QSqlRelationalDelegate class provides a delegate that is used to display and edit data from a 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 |
Unlike the default delegate, QSqlRelationalDelegate provides a combobox for fields that are foreign keys into other tables. To use the class, simply call QAbstractItemView::setItemDelegate () on the view with an instance of QSqlRelationalDelegate:
std::unique_ptr<QTableView> view{new QTableView}; view->setModel(model); view->setItemDelegate(new QSqlRelationalDelegate(view.get()));
关系表模型 example (shown below) illustrates how to use QSqlRelationalDelegate in conjunction with QSqlRelationalTableModel to provide tables with foreign key support.
另请参阅 QSqlRelationalTableModel and 模型/视图编程 .
构造 a QSqlRelationalDelegate 对象采用给定 parent .
[虚拟]
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.