1

私は自分自身QAbstractTableModelをSQLiteに接続しています。データベースからデータを取得し、列名でリストに書き込みます。データを探しているときに、SQL クエリでテーブルを処理したくありません。

についてどう思いますか?それは正常ですか?

アドバイスをお願いします。

4

2 に答える 2

1

モデル内のデータを検索するには、QSortFilterProxyModelを使用できます。モデルをプロキシ モデルのソース モデルとして設定し、プロキシ モデルを「検索結果」ビューに表示します。

とを使用setFilterRegExp()setFilterKeyColumn()て、たとえば、探している名前と「名前」列を指定できます。より複雑なフィルタリングが必要な場合は、サブクラス化することもできます。ドキュメントに例があります。

于 2012-11-23T12:22:09.277 に答える
0
  1. いいえ、QtSQLモジュールはORMを提供しないため、SQLクエリを自分で作成する必要があります。

  2. ただし、検索/フィルタリングにはQSortFilterProxyModelを使用できます(またはサブクラス化するか、フィルタリングコードをサブクラスに配置することもできます)。QAbstractTableModelただし、リレーショナルデータベースは検索を最適化する可能性があるため(そして高い確率で)、そうしないことをお勧めします。

于 2012-11-23T12:24:26.533 に答える