我正在尝试通过使用Style.qml
注册的样式单qmlRegisterSingletonType
来设置我的应用程序样式。当我对单例qml文件进行更改时,这些在重建应用程序时不会更新。
以下行为让我相信这是一个缓存问题:当我在样式文件的顶部添加新值时,所有旧值都会相应地移位。例如,查看下面给出的文件,如果我向fontsizes添加另一行,则此移位会导致任何值为backgroundColorHighlight
的项目在应用程序内显示为backgroundColor
的颜色。因此,颜色将被替换为以前的线的值。
我在哪里可以找到缓存文件(如果这是问题),负责这种奇怪的行为并手动清除它?
到目前为止我采取的步骤:
.qmlc
个文件QML_DISABLE_DISK_CACHE
添加到.pro文件qmake
现在我完全没有想法。还有Qt Creator / qmake可以“隐藏”缓存文件的其他地方吗?
Style.qml:
pragma Singleton
import QtQuick 2.8
QtObject {
//basic fonts
property int fontSizeSmall: 8
property real fontSizeMedium: 10
property real fontSizeLarge: 14
property string primaryFontColor: "#eeeeee"
//backgrounds
property string backgroundColorTransparent: "#4a4a4a88"
property string backgroundColor: "#4a4a4a"
property string backgroundHighlight: "#9a9a9a"
property string backgroundColorLight: "#7a7a7a"
property string dragTileBackgroundColor: "#5a5a5a"
property string titleBarColor: "#3a3a3a"
property color borderDarkColor: "#3a3a3a"
property string mapMarkerFavorite: "#00ff00";
property string mapMarker: "#ff3333";
property string mapMarkerHighlight: "#ff8888";
property string miniMapFillColor: "#ffffff"
property string miniMapBorderColor: "#ffffff"
property real miniMapBorderWidth: 1
property real particleMiniMapOpacity: 0.5
property int listElementHeight: 30
}
答案 0 :(得分:2)
假设有窗口,缓存应该在:
users\yourUser\AppData\Local\yourApp\cache\qmlcache
。
有一个已知的bug,我实际上discovered,在实例化QML引擎处理缓存问题之前,通过qputenv("QML_DISABLE_DISK_CACHE", "1");
中的main.cpp
禁用缓存。