- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个有多个主题的应用程序,它调用了其他小应用程序。所以,在主应用程序上有类似的东西:
// User opens app with theme A
QResource::registerResource("theme_a.rcc"); // returns TRUE
// User changes theme to B
QResource::unregisterResource("theme_a.rcc"); // returns TRUE
QResource::registerResource("theme_b.rcc"); // returns TRUE
主应用程序一切正常。当此软件调用其他 qt 应用程序时,问题就开始了。
在这些小应用程序中,我们遵循相同的注册和注销流程。奇怪的是,注册总是有效,而注销永远无效(仅在未成年人应用程序中)。它正在发生这样的事情:
// User opens app with theme A
QResource::registerResource("minor_theme_a.rcc"); // returns TRUE
// User changes theme to B
QResource::unregisterResource("minor_theme_a.rcc"); // returns FALSE
QResource::registerResource("minor_theme_b.rcc"); // returns TRUE
为什么会这样?有解决办法吗?
最佳答案
unregisterResource
如果资源已成功卸载并且不存在对该资源的引用,则返回 true。
因此,在您的情况下,可能还有来自其他一些表格的更多引用。
关于 unregisterResource
的重要文档:
如果当前有 QResources 引用与未注册文件相关的资源,它们将继续有效,但资源文件本身将从资源根目录中删除,因此无法创建更多 QResource指向此资源数据。当指向它的最后一个 QResource 被销毁时,资源本身将从内存中取消映射。
所以我强烈猜测一些 QResource
仍然指向您试图注销的那一个。
关于c++ - QResource:注销 .rcc 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43766738/
我有一个文本文件,它被添加到 qt 的 pro 文件中的资源文件中。我想通过 boost::filesystem 访问这个文件。我了解到我必须使用 QResource 才能这样做,我尝试了一些事情:
我正在使用 Qt 创建一个 3ds 模型加载器。 我想利用 Qt 资源系统并将其用于加载模型等。 我想做类似这样的语法: Mesh* MeshLoader::loadMesh(const QStrin
我们有一个有多个主题的应用程序,它调用了其他小应用程序。所以,在主应用程序上有类似的东西: // User opens app with theme A QResource::registerReso
我正在尝试移植我的 C++ Qt 应用程序以使用 PySide2。在我的 QML 中,我有以下内容: # test.qml Image { Layout.fillWidth: true
很奇怪,我通过添加现有文件... 将所需文件添加到资源中,文件就在那里。我运行 qmake ("Build->Run qmake") 使文件可用。第一个问题:我无法从输出终端向文件写入任何内容!但是当
很奇怪,我通过添加现有文件... 将所需文件添加到资源中,文件就在那里。我运行 qmake ("Build->Run qmake") 使文件可用。第一个问题:我无法从输出终端向文件写入任何内容!但是当
我有一个 Qt 项目,它有一组源文件/头文件,这些文件也用于其他不基于 Qt 的项目。这些文件处理 .csv 文件的读取(我将其称为我的 CSVReader 类)。 CSVReader 是在没有任何
如标题中所述,我的问题是 qwebview 无法正确加载位于我的资源中的 html 文件。如果我从资源外部加载它作为普通本地文件,它会完美地加载它。但这对我来说不是一个选择。我想将该文件与应用程序捆绑
我是一名优秀的程序员,十分优秀!