web-dev-qa-db-ja.com

Qtはどのように外部Qtスタイルシートファイルからスタイルを適用できますか?

[〜#〜] own [〜#〜] Qtスタイルシートファイルをロードするだけで、ユーザーがアプリケーションのデフォルトの外観をカスタマイズできるようにしたいと思います。それをどのように達成しますか?誰かが私に有利なスタートを切ることはできますか?

29
Owen

ユーザーがstylesheet.qssという名前のスタイルシートを持っていて、アプリケーションフォルダーにあるとします。

-stylesheet引数を使用して、アプリケーションの起動時にスタイルシートをロードできます。

myapp->stylesheet = stylesheet.qss;

ただし、これには、ユーザーが引数を指定してアプリケーションを起動する方法を知っている必要があります。

また、ユーザーがスタイルシートパスを選択できる設定ダイアログをアプリに追加することもできます。

次に、このファイルを開いてコンテンツをロードし、 QApplication :: setStyleSheet() を使用してアプリケーションに設定できます。

 QFile File("stylesheet.qss");
 File.open(QFile::ReadOnly);
 QString StyleSheet = QLatin1String(File.readAll());

 qApp->setStyleSheet(StyleSheet);

Qtは example online を提供しています。

35
Jérôme

お客様から提供された構成に基づいて、アプリケーション全体のスタイルシートを設定するだけです。

http://doc.qt.io/qt-5/qapplication.html#styleSheet-prop

この構成は、任意の場所から設定/取得できます。アプリケーションのプロパティダイアログがおそらく最も自然なアプローチです。

3
James Gaunt