給与記録を処理するための小さなデータベース プロジェクトを作成しています。これらの給与レコードは、表示用に tableview オブジェクトに入れられます。TableView で特定のレコードを検索するにはどうすればよいですか? どんなアイデアでも、私を助けてください。
2 に答える
2
モデル/ビュー パラダイムを使用している場合は、QAbstractItemModel クラスにある「match()」メソッドの使用を検討できます。たとえば、次のコード スニペットを参照してください。
model->match(model->index(0,0),
Qt::DisplayRole,
pattern, -1,
Qt::MatchContains | Qt::MatchRecursive );
これは、TreeView でパターン文字列を検索するために使用するコードです。フラグは、表示ロール表現の中に「パターン」を持つレコードを見つけるために設定され、検索はツリーを介して再帰的に実行されます(TableViewでは必要ありません:))。
于 2009-07-06T17:48:35.590 に答える
0
Proxy-Modelを (ソース) モデルとビューの間にプラグインして、モデル データをフィルタリングできます。QSortFilterProxyModel
モデルの行/列を並べ替えることができるものを見てください。キーの正しい正規表現を提供すると、見つかった場合に 1 つのアイテムのみに一致します。通常のモデルのようにプロキシ モデルを使用できます (例: rowCount のチェック)。これにより、自動的に更新され、他のビューで使用できるようになります。
于 2009-08-26T04:23:56.313 に答える