2

別のモデルQTableViewへのリンクを作成しました。(GUI の) のQSortFilterProxyModel下には、ビュー内の要素を「検索」するために使用される があります。QTableViewQLineEdit

QLineEdit私の考えは、探しているものを書き込んで、ビューに一致した要素のみを表示させることです。フィルタリングした後、関連するアイテムを選択QLineEditし、完全なビューに戻るためにクリーンアップしたい。すべてが機能しますが、フィルタリングされる選択されたアイテムも無効化のために選択を失います。

どうすればこの問題を解決できますか?

4

2 に答える 2

1

フィルタリングの前に選択した行を覚えておき、フィルタリングが完了したらそれを復元してみませんか。

あなたはQItemSelectionModel私が想像する直接を使うことができます。

フィルタリングする前に使用し、 を使用QItemSelectionModel::selectedRows()してフィルタリングした後に行を選択しますQItemSelectionModel::select()

このスレッドが非常に古いことは知っていますが、同様の問題に直面している他の人のためにコメントを残すと思いました.

于 2012-11-22T09:10:24.183 に答える
0

あなたが書いたことから、問題はコンテンツQTableViewをクリーニングしているときに選択を失うことにあるようです。行編集のeditingFinished()またはtextChanged()シグナルで「検索」QLineEditルーチンを開始している場合は、を変更する前にそれらから切断してから、再度接続し直すことができます。または、ブール値フラグを使用し、オンのときにフィルタリングを変更しないでください。発生している問題を含むコードの簡略化されたバージョンを投稿すると、質問に答えるのがはるかに簡単になります。QLineEdit

于 2011-04-06T02:10:39.173 に答える