スタイルQt Quick コントロール

利用可能なスタイル

Qt Quick コントロールには様々なスタイルが用意されています。

基本スタイル

ベーシックスタイルは、シンプルで軽量なオールラウンドスタイルで、Qt Quick コントロールのパフォーマンスを最大限に引き出します。

フュージョンスタイル

フュージョンスタイルのライトテーマ。

フュージョン・スタイルのダーク・テーマ。

Fusion スタイルはQt Quick コントロールにデスクトップ向けのルック&フィールを提供する、プラットフォームにとらわれないスタイルです。

イマジン・スタイル

Imagine スタイルは、画像アセットをベースにしています。このスタイルには、デフォルトの画像セットが付属しており、事前に定義された命名規則を使用して画像のあるディレクトリを提供することで、簡単に変更できます。

macOSスタイル

macOSスタイルのライトテーマ。

macOSスタイルのダークテーマ。

macOSスタイルは、macOS用のネイティブなスタイルです。

注意: このスタイルは、macOS上で動作するアプリケーションでのみ使用できます。

iOSスタイル

iOSスタイルのライト・テーマ。

iOSスタイルのダーク・テーマ。

iOS スタイルは、画像アセットに基づく iOS 用のネイティブ風のスタイルです。

: このスタイルは、iOS で実行されるアプリケーションでのみ使用できます。

マテリアル・スタイル

マテリアル・スタイルのライト・テーマ。

マテリアル・スタイルのダーク・テーマ。

マテリアル・スタイルはGoogleマテリアル・デザイン・ガイドラインに基づいた魅力的なデザインを提供しますが、ベーシック・スタイルよりも多くのシステム・リソースを必要とします。

ユニバーサルスタイル

ユニバーサルスタイルのライトテーマ。

Universalスタイルのダークテーマ。

ユニバーサルスタイルはMicrosoftユニバーサルデザインガイドラインに基づいた魅力的なデザインを提供しますが、ベーシックスタイルよりも多くのシステムリソースを必要とします。

Windowsスタイル

Windowsスタイルは、Windows用のネイティブなスタイルです。

注意: このスタイルは、Windows上で動作するアプリケーションでのみ利用可能です。

FluentWinUI3 スタイル

FluentWinUI3 スタイルの明るいテーマです。

FluentWinUI3 スタイルのダークテーマです。

FluentWinUI3スタイルは、Fluent UIとWinUI 3デザインガイドラインに従った、Windows 11以上のプラットフォーム用にデザインされた、モダンでネイティブなスタイルです。FluentWinUI3 は、サポートされているすべてのプラットフォームで実行できます。

Qt Quick コントロールでスタイルを使う

デフォルトのスタイル

スタイルが明示的に設定されていない場合、デフォルトのスタイルが使用されます。使用されるスタイルは、オペレーティング・システムによって異なります:

その他のOSでは、Basic Styleが使用されます。

コンパイル時のスタイル選択

コンパイル時のスタイル選択は、QMLでインポートする際に使用するスタイルを指定する方法です。例えば、Materialスタイルをインポートする場合です:

// The style must be imported before any other QtQuick.Controls imports.

import QtQuick.Controls.Material

ApplicationWindow {
    // ...
}

QtQuick.Controls(実行時のスタイル選択を担当)はインポートされていないことに注意してください。フォールバックスタイルは、スタイルのqmldirによって指定されます:

module QtQuick.Controls.Material
# ...
import QtQuick.Controls.Basic auto

コンパイル時のスタイル選択の利点は、QMLコンパイラがどの特定のスタイルが使用されているかを把握し、バインディング用のC++コードを生成できることです。

もう一つの利点は、QtQuick.Controlsプラグインを使用しないため、アプリケーションと一緒にデプロイする必要がないことです。

アプリケーションを静的にビルドする場合は、明示的なインポートも必要です。

コンパイル時のスタイル選択の欠点は、1つの実行ファイルで複数のスタイルをサポートできないことです。

実行時のスタイル選択

ランタイム・スタイル選択は、QtQuick.Controls をインポートして使用するスタイルを指定する方法です:

import QtQuick.Controls

QtQuick.Controls プラグインは、次のいずれかの方法で実行時に設定されたスタイルをインポートします:

これらのアプローチの優先順位は、リストの順番に従っています。つまり、QQuickStyle を使用してスタイルを設定すると、コマンドライン引数を使用するよりも常に優先されます。

同様に、フォールバックスタイルは、以下のいずれかの方法で設定できます:

注意: フォールバックスタイルを動的に選択できるのは、メインスタイルの qmldir ファイルで静的に選択されていない場合だけです。

ランタイム スタイル選択の利点は、1つのアプリケーション バイナリで複数のスタイルをサポートできることです。つまり、エンド ユーザーはアプリケーションを実行するスタイルを選択できます。

この方法の欠点は、QMLコンパイラがどのスタイルが使用されているかを知ることができないため、Qt Quick Controls型のプロパティに対するバインディングのためのC++コードを生成することができないことです。ただし、QMLコンパイラが他のモジュールの型にバインディングするためのC++を 生成する機能には影響しません。

C++ での QQuickStyle の使用

QQuickStyle は、特定のスタイルを設定するための C++ API を提供します。次の例では、 Controls アプリケーションを Material スタイルで実行しています:Qt Quick

QQuickStyle::setStyle("Material");

詳細については、QQuickStyle の詳細説明を参照してください。

コマンドライン引数

-style コマンドライン引数を渡すと、異なるスタイルをテストするのに便利です。この方法は、以下に示す他の方法よりも優先されます。次の例では、Qt Quick Controls アプリケーションを Material スタイルで実行しています:

./app -style Material

環境変数

環境変数QT_QUICK_CONTROLS_STYLE を設定することで、システム全体の優先スタイルを設定できます。後述の設定ファイルよりも優先されます。次の例では、Qt Quick Controls アプリケーションを Universal スタイルで実行します:

QT_QUICK_CONTROLS_STYLE=Universal ./app

サポートされている環境変数の完全なリストは、 Qt Quick Controlsでサポートされている環境変数を参照してください。

設定ファイル

Qt Quick Controlsは、アプリケーションのリソースに組み込まれる特別な設定ファイル、 をサポートしています。:/qtquickcontrols2.conf

設定ファイルは、優先スタイル(前述のいずれかの方法で上書き可能)と特定のスタイル固有の属性を指定できます。次の例では、優先スタイルが Material スタイルであることを指定しています。

[Controls]
Style=Material

設定ファイルの詳細については、Qt Quick コントロール設定ファイル」を参照してください。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.