Я использую Qtableview
с QsqlTableModel
для заполнения данных таблицы. Я хочу отсортировать столбец на основе выбора пользователя в заголовке столбца.
Я попробовал способ, упомянутый в сигнал сортировки QTableView? для получения сигнала (получите горизонтальный заголовок из QtableView
и подключить сигнал sectionclicked(int logical index)
, Но тот же сигнал не испускается, когда я нажимаю на заголовок столбца.
Пожалуйста, найдите код, где выполняется подключение:
Переменная участника:
QHeaderView *m_horiz_header;
Файл .cpp
m_sqltablemodel->setTable(tabel_name);
m_sqltablemodel->setEditStrategy(QSqlTableModel::OnManualSubmit);
m_sqltablemodel->select();
m_horiz_header= m_table_view->horizontalHeader();
connect(m_horiz_header, SIGNAL(sectionClicked ( int logicalIndex ) ),
this, SLOT(on_sectionClicked ( int logicalIndex ) ));
Слот для сортировки:
void class::on_sectionClicked ( int logicalIndex )
{
m_horiz_header->setSortIndicator(logicalIndex, Qt::AscendingOrder);
m_table_view->sortByColumn(logicalIndex);
}
Эта функция не вызывается при щелчке заголовка столбца.
Не могли бы вы помочь мне, как это сделать, где я ошибся?