特定のユーザー定義のインスタンスがシーン内QGraphicsItem
をPerson
移動する QT プロジェクト (C++ を使用) があります。それらPersons
が相互作用して、一部の色が変わることがあります。
ここで、ウィンドウにテキスト フィールドを配置し、各色の数を表示したいと考えています。しかし、変更は - メソッドの呼び出し内で発生するPerson::advance
ため、これらの中から更新できるテキスト フィールドを作成したいと考えています。
次のコードを main.cpp に追加することで、テキストを簡単に表示できます。
QGraphicsSimpleTextItem *text1 = new QGraphicsSimpleTextItem;
text1->setPos(-200, -150);
text1->setText("This is an arbitrary English sentence");
scene.addItem(text1);
しかし、シーンtext1
内のadvance
-method内からこの変数のテキストにアクセスして変更する方法がわかりません。Persons
これにはどのような戦略が適していますか?
カウントを追跡するグローバル変数を作成する必要がありますか?作成した場合、テキスト フィールドを更新するにはどうすればよいですか? または、テキストを my
QGraphicsScene
に置くのではなく、プログラムのどこからでも呼び出すことができる他のより適切な場所で定義する必要がありますか? これを行う一般的な方法はありますか?