2

モデルの内容を表示するとがQSqlTableModelあります。QTableView

モデルのサブクラス化とメソッドの再実装の編集をカスタマイズすることができましQStyledItemDelegateた。setEditorDatasetModelDataupdateEditorGeometry

ここで行う必要があるのは、元のモデルに基づいたテキストをビューに配置することです。おもちゃの例を挙げましょう:

"10"モデルに値を保存したとします。たとえば"10 kg"、この値の操作されたバージョンをビューに表示しますが、モデルの実際のコンテンツは変更しません。

(これは単純化された例にすぎません。本当の問題は単に接尾辞を付けることではありません。)

これどうやってするの?ドキュメントで答えを見つけることができず、私の問題に似ていることがわかった2つの 例を見ると、星として描かれた新しい表現を扱っています(たとえば)。私が欲しいのはもっと簡単です:文字列を書き直せるようにしたいのです。

がらくた英語について申し訳ありません。

4

1 に答える 1

1

私はついに答えを見つけることができました。

真実は、答えがドキュメントにあり、私はそれを気づかれないようにしたということです。displayTextのメソッドを再実装するだけですQStyledItemDelegate

これが元の実装です。変更を行う方法のアイデアを得るためにそれを見て良かったです。

より複雑な操作を行うには、メソッドinitStyleOption実装)を確認することもお勧めします。

于 2012-02-11T17:56:26.923 に答える