我有一个 QT 项目(使用 C++),其中某个用户定义的QGraphicsItem
调用实例Person
在场景中移动。有时它们Persons
会相互作用,因此其中一些会改变颜色。
现在我想在窗口中放置一个文本字段并显示每种颜色的数量。但是由于更改发生在对Person::advance
-method 的调用中,我想创建一个可以从这些中更新的文本字段。
通过将以下代码添加到我的 main.cpp 中,我可以轻松地显示一些文本:
QGraphicsSimpleTextItem *text1 = new QGraphicsSimpleTextItem;
text1->setPos(-200, -150);
text1->setText("This is an arbitrary English sentence");
scene.addItem(text1);
但我不知道如何text1
从场景中的advance
- 方法中访问和更改此变量的文本。Persons
对此有什么好的策略?
我是否应该创建一个跟踪计数的全局变量,如果这样做,我该如何更新文本字段?或者文本甚至不应该在 my 上
QGraphicsScene
,而是在其他更合适的地方定义,可以从程序中的任何地方调用它?有这样做的通用方法吗?