10列のQtableView(qt5.9)を使用しており、ユーザーがこれらの列のヘッダーをクリックしたときに2番目と3番目(一部のみ)の並べ替えを無効にします。QTableView一部の列の並べ替えを無効にする
は、私は、ヘッダーのクリックでに耳を傾け、その後、いくつかのappropraiteメソッドを呼び出すか、ソート拒否する必要があります任意の信号がある私のQtableViewが
ソートできるようにするためにsetsortingenabledフラグを使用します。
10列のQtableView(qt5.9)を使用しており、ユーザーがこれらの列のヘッダーをクリックしたときに2番目と3番目(一部のみ)の並べ替えを無効にします。QTableView一部の列の並べ替えを無効にする
は、私は、ヘッダーのクリックでに耳を傾け、その後、いくつかのappropraiteメソッドを呼び出すか、ソート拒否する必要があります任意の信号がある私のQtableViewが
ソートできるようにするためにsetsortingenabledフラグを使用します。
ヘッダー信号sortIndicatorChangedを使用すると、現在のソートインジケータを復元できます。
例:
connect(m_poTableView->header(), &QHeaderView::sortIndicatorChanged,
this, &MyClass::HandleIndicatorChanged);
MyClass::HandleIndicatorChanged(int logicalIndex, Qt::SortOrder eSort)
{
if (logicalIndex != 0)
{
this->m_poTableView->horizontalHeader()->setSortIndicator(
0, this->m_poTableView->model()->sortOrder());
}
}
@mapunaこの質問にはもう助けが必要ですか? – Simon
あなたは[QSortFilterProxyModel](http://doc.qt.io/qt-4.8/qsortfilterproxymodel.html#details)を使用しようとしましたか? – Simon
@simonはい私はQSortFilterProxyModelを試しましたが、私はそこで役に立つ便利なメソッドしか見ませんでした。また、ヘッダコールをクリックするとviewのsortbycolumが呼び出されました。QSortFilterProxyModelではどのような提案をソートできないのでしょうか? – mapuna
ヘッダシグナル[sortIndicatorChanged] doc.qt.io/qt-4.8/qheaderview.html#sortIndicatorChanged) – Simon