gpt4 book ai didi

c++ - 更改 ItemData 的内容

转载 作者:行者123 更新时间:2023-11-28 08:30:20 25 4
gpt4 key购买 nike

我将自定义数据类型的对象存储在 QStandardListItems 中。我通过调用恢复这些对象:

i.data(Qt::UserRole + 1).value<LiteReach>();

这只会在堆栈中创建一个新对象。我对它们所做的任何更改都是暂时的。

有没有办法获取存储在itemData中的基础对象,以便直接对其进行操作?如果不是,更改 itemData 的首选方法是什么?

我不想在每次修改对象时都调用 setData,因为它会消耗大量资源。

最佳答案

您可以使用允许访问具体数据对象的指针,而不是像上面那样将整个数据复制到 QVariant 中。

问题是 value() 返回您数据的拷贝。因此,如果您进行任何修改,一旦拷贝从堆栈中移除,它们就会消失。

如果您不想使用指针,我想您将不得不坚持使用 setData()

关于c++ - 更改 ItemData 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2408414/

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