QTを使って長方形のボードを作りたいです。このボードは、ステップが実行されると更新されます。たとえば、ステップ x では、セル 5,6 のテキストが「未調査」から「調査済み」に更新されます。
QTのドキュメントを調べたところ、クラスQGraphicsViewが見つかりました。QGraphicsItemを使用して、テキストを書き込むことができるセルをシミュレートするにはどうすればよいですか?
私は代替案にもオープンです。
QTを使って長方形のボードを作りたいです。このボードは、ステップが実行されると更新されます。たとえば、ステップ x では、セル 5,6 のテキストが「未調査」から「調査済み」に更新されます。
QTのドキュメントを調べたところ、クラスQGraphicsViewが見つかりました。QGraphicsItemを使用して、テキストを書き込むことができるセルをシミュレートするにはどうすればよいですか?
私は代替案にもオープンです。
技術的には、これは QTableView/Widget をカスタマイズすることによっても実行できますがQGraphicsScene
、カスタム グラフィックスとパフォーマンスに対してより堅牢です。
大まかに見ると、「セル」項目を表す複合オブジェクトを作成するか、 a をサブクラスQGraphicsItem
化してすべてのカスタム ペインティングを自分で行うことができます。
複合オブジェクトを作成する場合、それはおそらく aと aをメンバーとしてQGraphicsItem
含む「セル」サブクラスになり、親としてセル インスタンスに設定されます。これにより、子アイテムが親セル アイテムと一緒に翻訳され続けます。QGraphicsRectItem
QGraphicsTextItem
完全にカスタムQGraphicsItem
の を作成する場合、メソッド内ですべての描画を定義しますpaint()
。これにより、長方形が描画され、インスタンスに設定された値からテキストが取得されます。