gpt4 book ai didi

c++ - 缓冲来自 QResource 的原始数据?

转载 作者:行者123 更新时间:2023-11-28 08:03:56 26 4
gpt4 key购买 nike

我正在使用 Qt 创建一个 3ds 模型加载器。

我想利用 Qt 资源系统并将其用于加载模型等。

我想做类似这样的语法:

Mesh* MeshLoader::loadMesh(const QString& resource) {
QResource qResource(resource);
QResource::registerResource(resource);
SomeBuffer buffer(qResource.data())
while (!buffer.eof()) {
// Process the file
}
QResource::unregisterResource(resource);
}

有什么建议吗?

最佳答案

您发布的代码有什么问题?

请注意:几乎每个 Qt 数据/流读取器都可以使用 Qt 资源符号(路径中的前导 :)。例如,您可以使用 QFile(":/someresource")。使用 QFile 和 QDataStream 我认为(但也许我错了)你可以只读取文件的 block 而不加载整个资源并在读取期间阻塞线程。如果它阻塞了主线程,您始终可以使用 QRunnable 或 QThread 在后台加载资源。

对于缓冲:我不知道 Qt 中内置了任何缓存解决方案(网络相关部分除外),因此您可能应该自己实现它。

通过这种方式,您可以构建一个 MyResource 类,该类在后台线程中加载目标资源,并在完成时通过信号/插槽进行通知,并可以按照您想要的方式缓存资源的数据。

关于c++ - 缓冲来自 QResource 的原始数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10695383/

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