gpt4 book ai didi

c++ - 从 QGraphicsSimpleTextItem 从 QGraphicsItem foreach 循环获取字符串?

转载 作者:行者123 更新时间:2023-12-01 14:47:56 24 4
gpt4 key购买 nike

我正在使用 qrect 和简单文本项制作图像注释系统。

我正在尝试将 QGraphicssimpletext 项目中的字符串值存储到 JSON 文件中以保存和加载注释框。矩形工作正常,但我无法理解如何获取字符串值。这是我试图为每个项目循环的 foreach,由于文本项目是矩形的子项,因此位置无关紧要。

foreach(QGraphicsItem* item, items())
{
arrayPosX.push_back(item->x());
arrayHeight.push_back(item->boundingRect().height());
arrayWidth.push_back(item->boundingRect().width());
arrayPosY.push_back(item->y());
arrayAnnotation.push_back(item->?);
}

简单的文本和矩形项目都使用
itemToDraw = new QGraphicsRectItem;
this->addItem(itemToDraw);
simpleTextToDraw = new QGraphicsSimpleTextItem;
this->addItem(simpleTextToDraw);

我只想知道如何从简单的文本项中获取字符串值,以允许保存和加载字符串和框,而不仅仅是当前系统可以执行的框。

最佳答案

您必须强制转换并验证指针不为空:

// ...
arrayPosY.push_back(item->y());
if(QGraphicsSimpleTextItem* text_item = qgraphicsitem_cast<QGraphicsSimpleTextItem *>(item)){
arrayAnnotation.push_back(text_item->text());
}

关于c++ - 从 QGraphicsSimpleTextItem 从 QGraphicsItem foreach 循环获取字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61563731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com