qmlRegisterSingletonType
を使用して登録するスタイルシングルトンStyle.qml
でアプリケーションのスタイルを設定しようとしています。シングルトンのqmlファイルを変更すると、アプリケーションを再ビルドするときに更新されません。シングルトンのスタイルはビルド中に更新されません
これはキャッシングの問題であると私は考えています。新しい値をスタイルファイルの先頭に追加すると、すべての古い値がそれに応じてシフトします。たとえば、以下のファイルを見ると、フォントサイズに別の行を追加すると、このシフトはbackgroundColorHighlight
の値を持つ項目にはアプリケーション内にbackgroundColor
の色で表示されます。したがって、色は以前に使用されていたラインの値に置き換えられます。
この異常な動作の原因となるキャッシュファイルはどこにありますか?
- は をチェック
- と
.qmlc
ファイル - 追加
QML_DISABLE_DISK_CACHE
には、ビルドフォルダを削除して手動でプロジェクトをClenedのQt Creatorを - を通じてプロジェクトをクリーン:私がこれまでとってきた
手順。プロファイル
- Ran
qmake
再構築前
今私はすべてのアイデアがありません。 Qt Creator/qmakeがキャッシュファイルを「隠す」ことができる他の場所はありますか?
Style.qml:
users\yourUser\AppData\Local\yourApp\cache\qmlcache
:窓を仮定
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
}
あなたの答えのために、バグを文書化してくれてありがとう!私には少しばかげているようですが、プロジェクト関連のデータはユーザーフォルダに保存する必要があります。 –
これはウィンドウの仕組みです。プラットフォームに依存します。標準のシステムパスなど。 – dtech