QSqlRelationalDelegate Class
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) | |
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는 다른 테이블의 외래 키인 필드에 대한 콤보 박스를 제공합니다. 이 클래스를 사용하려면 QSqlRelationalDelegate의 인스턴스가 있는 뷰에서 QAbstractItemView::setItemDelegate()를 호출하기만 하면 됩니다:
std::unique_ptr<QTableView> view{new QTableView}; view->setModel(model); view->setItemDelegate(new QSqlRelationalDelegate(view.get()));
관계형 테이블 모델 예제(아래 표시)는 QSqlRelationalDelegate를 QSqlRelationalTableModel 와 함께 사용하여 테이블에 외래 키 지원을 제공하는 방법을 보여줍니다.
QSqlRelationalTableModel 및 모델/보기 프로그래밍도참조하세요 .
멤버 함수 문서
[explicit]
QSqlRelationalDelegate::QSqlRelationalDelegate(QObject *parent = nullptr)
주어진 parent 을 사용하여 QSqlRelationalDelegate 객체를 생성합니다.
[virtual noexcept]
QSqlRelationalDelegate::~QSqlRelationalDelegate()
QSqlRelationalDelegate 객체를 삭제하고 할당된 리소스를 해제합니다.
[override virtual]
QWidget *QSqlRelationalDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
재 구현합니다: QStyledItemDelegate::createEditor(QWidget *부모, const Q스타일옵션뷰아이템 &옵션, const Q모델인덱스 &인덱스) const.
[override virtual]
void QSqlRelationalDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
재 구현합니다: QStyledItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.