0

このTableViewのモデルとしてTableViewとQSqlTableModelがあります。ここに書かれている通りに接続しました(2番目の方法)。

TableView がそのビュー (データ) を自動的に更新することを望みます (モデルに何かが挿入/更新/削除されたとき)。どうすればいいですか?

QSqlTableModel のすべての変更 (挿入/更新/削除) を 1 つのシグナルで追跡できますか? はい、おそらく、rowsInserted、rowsMo​​ded、rowsRemoved シグナルを確認できますが、どのような種類の変更に対しても 1 つのシグナルが存在する可能性がありますか?

4

1 に答える 1

0

QSqlTableModel またはその基本クラスには単一のシグナルがないようです。しかし、シグナルごとに異なるスロットを実装したくない場合は、それらのシグナルをカスタムシグナルに接続できると思います。したがって、シグナルrowInserted、rowMoved...のいずれかが発行されるたびに、カスタムシグナルが自動的に発行されます。

更新: 補足: rowsInserted などのシグナルは、基本クラス QAbstractItemModel からのものです。beforeDelete、beforeInsert などの QSqlTableModel のシグナルを操作する方が簡単な場合があります。

于 2014-10-25T18:19:15.587 に答える