私は一度に複数の列をフィルタリングすることができないようです。フィルタを使用する際によく使用されると思いますが、何か不足している可能性があります。QSortFilterProxyModel(フィルタをグループ化する)でQTableViewフィルタリング
たとえば、QTableView
には4列ありますが、列X (string), Y (int), Z (string), Q (string)
としましょう。 filter_1
の列X
でフィルタし、filter_2
の列Z
でフィルタしたいと思います。 QSortFilterProxyModel
フィルタを複数の列に(動的に)設定できますが、すべてではありません(filterAcceptsRow
を再実装しています)。
おかげ
サブクラスを使用してfilterAcceptsRow()メソッドをオーバーライドしようとしましたが、そのメソッドでフィルタはその中で選択されたすべてのカラムで機能します。動的なメソッドが必要なので、時にはX、Y、時にはX、Y、Z、Xの列をフィルタリングすることができます。 – krizajb
この例はhttp://www.qtcentre.org/threads/24267-QSortFilterProxyModel-setFilterRegExp-for-more-than-1-columnをご覧ください。同様のことをするか、filterAcceptsColumnメソッドを使用することもできます –
私のケースに実装するには時間がかかりました。どうもありがとう! – krizajb