0

QSqlTableModelを使用してSQLiteテーブルのデータを表示する基本的なQTableViewがあります。

データ入力は、フィールド データを表す多数のウィジェットと [追加] ボタンを持つ親ダイアログによって行われます。データの削除は、[選択した行を削除] ボタンを使用して行います。

すべてが非常に機能的ですが、信じられないほど不格好で、Better Way を試してみたいと思います。

理想的には、ユーザーが簡単にデータの入力を開始できるビューに空の行が必要です。各行の終わりには、その特定の行を削除するためのボタンがあります (垂直ヘッダーに似ていますが、行番号の代わりにプッシュ ボタンがあります)。

これは、QTableView をサブクラス化することで達成できると思いますが、すべてを再描画する必要があるという考えは少し気が遠くなります...

おそらくデリゲート(確かに私が以前に使用したことのないもの)または私が見落としていた別のより簡単な方法を使用して、これをどのように行うことができるかについて誰かアドバイスがありますか??

4

1 に答える 1

1

あなたが説明したことから、何も再描画することを心配する必要はありません。QButton行の最後のセルにa を追加するだけです。へのボタンの追加に関するいくつかの回答/記事がありますQTableView

  1. http://qtadventures.wordpress.com/2012/02/04/adding-button-to-qviewtable/
  2. ボタンを QTableview に追加する

次に、ユーザーが行を追加できるようにすることで、モデルを編集可能にし、行を挿入/削除する方法に関するこの記事のセクションを直接読んでください。

  1. http://doc.qt.io/archives/qt-4.7/model-view-programming.html#make-the-model-editable
于 2012-11-15T14:07:37.103 に答える