C++ QTreeView和QTabWidget仅显示QTableView的选定项
给定两个SQLite表地址和消息,将它们映射到C++ QTreeView和QTabWidget仅显示QTableView的选定项,c++,sql,qt,model-view,C++,Sql,Qt,Model View,给定两个SQLite表地址和消息,将它们映射到QTreeView和QTabWidget的最佳方式是什么?这样,如果我在QTableView中选择一行(映射到地址或消息),则选中的项是 作为新选项卡打开以显示其内容,以及 作为项目插入到QTreeView中,以表示“打开”的项目 我通过创建两个自定义的QWidgets,一个用于地址,一个用于消息,成功地打开了新的选项卡。在QTableView中选择一行时,将创建正确的(地址或消息)QWidget,并使用SQL模型和索引提供。小部件然后创建一个QDa
QTreeView
和QTabWidget
的最佳方式是什么?这样,如果我在QTableView
中选择一行(映射到地址或消息),则选中的项是
QTreeView
中,以表示“打开”的项目QWidgets
,一个用于地址,一个用于消息,成功地打开了新的选项卡。在QTableView
中选择一行时,将创建正确的(地址或消息)QWidget
,并使用SQL模型和索引提供。小部件然后创建一个QDataWidgetMapper
,并显示给定的索引<代码>地址小部件示例:
AddressWidget::AddressWidget(QSqlRelationalTableModel *model, QModelIndex &index, QWidget *parent) :
QWidget(parent)
{
// ...
// set up widget mapper
mapper = new QDataWidgetMapper(this);
mapper->setModel(this->model);
mapper->addMapping(streetEdit, this->model->fieldIndex("street"));
mapper->addMapping(houseNumberEdit, this->model->fieldIndex("houseNumber"));
mapper->addMapping(zipEdit, this->model->fieldIndex("zip"));
mapper->addMapping(cityEdit, this->model->fieldIndex("city"));
mapper->setCurrentModelIndex(index);
}
如何将其扩展到QTreeView
,以便树显示打开的项目?QTabWidget
中的每个选项卡在QTreeView
中都应该有相应的项
如果有正确的方法,请添加它或完全替换我的场景