klickt. Ich verwende Qtableview mit QsqlTableModel zum Auffüllen von Tabellendaten. Ich möchte die Spalte anhand der Benutzerauswahl in der Spaltenüberschrift sortieren.Qt Qtableview empfängt kein Signal für Header-Element, das auf
Ich versuchte, die in QTableView sorting signal? erwähnte Art und Weise das Signals für das Erhalten (den horizontalen Kopf von QTableView erhalten und verbindet Signal sectionclicked (int logischen Index). Aber das gleiche Signal wird nicht ausgegeben wird, wenn ich auf Spaltenüberschrift klicken.
finden Sie den Code, wo die Verbindung erfolgt:
Mitglied Variable:
QHeaderView *m_horiz_header;
CPP-Datei
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)));
Slot-Funktion für die Sortierung:
void class::on_sectionClicked (int logicalIndex)
{
m_horiz_header->setSortIndicator(logicalIndex, Qt::AscendingOrder);
m_table_view->sortByColumn(logicalIndex);
}
Diese Funktion wird nicht aufgerufen zu werden, wenn Spaltenkopf angeklickt wird.
Können Sie mir bitte helfen, wie ich das mache, wo ich falsch gelaufen bin?
Vielen Dank im Voraus.
Verwandte Themen: http://stackoverflow.com/questions/24714130/qt-5-3-qtreeview-clickable-header-data – neuronet