您可以通过为每个GraphicsRectItem设置唯一的名称来创建不同名称的GraphicsRectItem。在Qt中,您可以使用QGraphicsScene和QGraphicsRectItem类来完成此操作。以下是一个示例代码:
#include <QApplication>
#include <QGraphicsScene>
#include <QGraphicsRectItem>
#include <QTimer>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QGraphicsScene scene;
QTimer timer;
QObject::connect(&timer, &QTimer::timeout, [&scene]() {
// 生成一个随机名称
QString itemName = QString("RectItem_%1").arg(qrand());
// 创建一个带有随机名称的GraphicsRectItem,并添加到场景中
QGraphicsRectItem* rect = new QGraphicsRectItem();
rect->setRect(0, 0, 50, 50);
rect->setPos(qrand() % 500, qrand() % 500);
rect->setBrush(Qt::red);
rect->setData(0, itemName); // 设置唯一名称作为item的数据
scene.addItem(rect);
qDebug() << "Created item with name:" << itemName;
});
timer.start(3000); // 每隔3秒触发一次定时器
return a.exec();
}
上述代码使用定时器每隔3秒创建一个名为”RectItem_xxx”(xxx为随机数字)的矩形项,并将其添加到场景中。您可以根据需要自定义矩形项的属性和样式。
注意:由于每个图形项都有唯一的名称,因此在处理图形项时,请确保使用正确的名称进行标识和操作。
内容由零声教学AI助手提供,问题来源于学员提问