OS(プラットフォーム)ごとにqssスタイルシートの一部を有効/無効にする方法はありますか?私はMacOS用に1つのフォントを、Windows用にもう1つのフォントを有効にすることができます。OSごとにqssスタイルシートを有効にする方法はありますか?
私は特定のウィジェット
this->setProperty("qsysKernelType", QSysInfo::kernelType());
this->setProperty("qsysCurrentCpuArchitecture", QSysInfo::currentCpuArchitecture());
this->setProperty("qsysBuildCpuArchitecture", QSysInfo::buildCpuArchitecture());
this->setProperty("qsysProductType", QSysInfo::productType());
の動的プロパティを設定することができますが、それは唯一のウィジェットではなく、階層全体で動作します。
私の '.qss'ファイルでプリコンパイラを直接使用できるかどうかは疑問です。 –
私はあなたが何を意味するかによって異なります。私は.qssファイルで、私の例のように ":/style/win.css"のような意味があると思いますか?簡単な答え - いいえ。 ifdefsはc/C++コード(ヘッダー/ソース)にのみ入れることができます。代わりに、いくつかのリソースファイルを作成して、プラットフォームに応じて.proファイルにそのうちの1つのみを含めることができます。 – Youw
そして、もしあなたが望むなら - .qssファイルの一部を変更するだけで、.qssファイルをいくつかに分割することを検討してください。すべてのプラットフォームで共通の部分と、異なる部分です。そして、あなたの中の部品をマージします。私は同様の必要性を持っていました。 – Youw