이 페이지에서

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 *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를 재구현합니다.

© 2026 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.