QTreeView и QTabWidget для отображения только выбранных элементов QTableViews

Учитывая две таблицы SQLite адреса а также Сообщения, Каков наилучший способ сопоставить их с QTreeView а также QTabWidget таким образом, что если я выберу одну строку в QTableView (который сопоставлен с адресами или сообщениями), выбранный элемент

  1. открывается как новая вкладка для отображения ее содержимого, и
  2. вставляется как элемент в QTreeView представлять «открытый» элемент.

Мне удалось открыть новые вкладки, создав два пользовательских QWidgetsодин для адресов и один для сообщений. При выборе строки в QTableView, правильный (либо адреса, либо сообщения) QWidget создается и подается с моделью SQL и индексом. Затем виджет создает QDataWidgetMapper и отображает данный индекс. AddressWidget пример:

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,

Если есть право способ сделать это, пожалуйста, добавьте его или полностью замените мой сценарий.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]