Общее выделение у нескольких QTableWidget

Работаю в Qt 5.6.1. Есть несколько таблиц QTableWidget, по идее они представляют собой одну таблицу - расположены вплотную, и данные по строкам взаимосвязаны, но они должны быть представлены как отдельные виджеты. Флаг выделения у них стоит SelectRows, и мод ExtendedSelection. Как мне сделать у них общее выделение? Допустим, выделил несколько строк первой таблицы - выделил те же строки в других. Выделение должно убираться соответственно. Я пытался обработать сигнал selectionChanged у selectionModel таблиц таким образом:

void wSpisokActive::selectionChangedMain(const QItemSelection &selected, const QItemSelection &deselected)
{
    permission_to_changed_main_ = false; // флаг для выхода из подобного слота в другой таблице

    if (permission_to_changed_monitoring_) { // выделить строки
        QModelIndexList selected_list = selected.indexes();
        for (QModelIndex model_index: selected_list) {
            ui->tbMonitoring->selectRow(model_index.row());
        }

        QModelIndexList deselected_list = deselected.indexes();
        int last_row = -1;
        for (QModelIndex model_index: deselected_list) { // снять выделение строк
            if (last_row == model_index.row()) continue;
            last_row = model_index.row();
            for (int i = 0; i < ui->tbMonitoring->columnCount(); ++i) {
                ui->tbMonitoring->selectionModel()->select(ui->tbMonitoring->model()->index(last_row, i), QItemSelectionModel::Deselect);
            }
        }
    }

    permission_to_changed_main_ = true;
}

Но таким образом неправильно обрабатывается выделение через Ctrl. Также при выделении нескольких строк выделяется только последняя - пробовал перед выделением строк устанавливать ui->tbMonitoring->setSelectionMode(QAbstractItemView::MultiSelection);, а после ui->tbMonitoring->setSelectionMode(QAbstractItemView::ExtendedSelection);. Но не помогло.


Ответы (1 шт):

Автор решения: Letynn C

Ответ дан на stackoverflow.com. Спасибо, @Atmo и @musicamante. Нужно будет использовать QTableView и добавить им общую модель через setModel и selectionModel.

→ Ссылка