Qt Quick Controls 配置文件

Qt Quick Controls 在应用程序的资源中内置了一个特殊的配置文件 。qtquickcontrols2.conf

配置文件可指定首选样式和某些特定样式属性。下面的示例指定首选样式为Material 样式。此外,当应用程序以 Material 风格运行时,其主题为浅色,重点色和主色分别为茶色和蓝灰色。但是,如果使用通用样式运行应用程序,则重点色为红色,并根据系统主题颜色选择适当的主题。

[Controls]
Style=Material

[Universal]
Theme=System
Accent=Red

[Material]
Theme=Light
Accent=Teal
Primary=BlueGrey

可以使用QT_QUICK_CONTROLS_CONF环境变量指定配置文件的自定义位置。

控制部分

可在配置文件的Controls 部分指定以下值:

变量说明
Style指定运行应用程序的样式。该值可以是内置样式自定义样式的名称。
FallbackStyle指定用于未实现控件的样式。该样式必须是内置样式之一。默认情况下,使用Basic样式。

想象部分

下表列出了可用于在配置文件Imagine 部分配置Imagine 样式的值:

变量说明
Path指定包含 Imagine 风格资产的目录路径。如果不指定,则使用内置资产。

例如,指定存储在资源系统中的目录路径:

[Imagine]
Path=:/imagine-assets

指定本地目录的相对路径:

[Imagine]
Path=imagine-assets

注意: 由于技术限制,如果路径是qtquickcontrols2.conf 文件的相对路径,则不应命名为"imagine"

材料部分

下表列出了可用于在配置文件Material 部分配置 "材质"样式的值:

变量说明
Theme指定默认材质主题。该值可以是可用主题之一,例如"Dark"
Variant指定 Material 变体。Material Design 有两个变体:一个是为触摸设备设计的普通变体,另一个是为桌面设计的密集变体。密集变体使用较小尺寸的控件及其字体。

该值可以是"Normal""Dense"

Accent指定默认材质强调色。该值可以是color ,但建议使用预定义的材质颜色,例如"Teal"
Primary指定默认材质主色调。该值可以是任何color ,但建议使用其中一种预定义材质颜色,例如"BlueGrey"
Foreground指定默认材质前景色。该值可以是任何color ,也可以是预定义材质颜色之一,例如"Brown"
Background指定默认材质背景色。该值可以是任何color ,也可以是预定义的材质颜色之一,例如"Grey"

通用部分

下表列出了可用于在配置文件Universal 部分配置通用样式的值:

变量说明
Theme指定默认通用主题。该值可以是可用主题之一,例如"Dark"
Accent指定默认通用重点色。该值可以是任何color ,但建议使用其中一种预定义的通用颜色,例如"Violet"
Foreground指定默认通用前景色。该值可以是任何color ,也可以是预定义的通用颜色之一,例如"Brown"
Background指定默认通用背景色。该值可以是任何color ,也可以是预定义的通用颜色之一,例如"Steel"

字体配置

默认font 可在配置文件中每个样式部分的Font 子组中指定:

[Basic]
Font\Family=Open Sans
Font\PixelSize=20

支持的字体属性:

变量说明
Familyfont family.
PointSizepoint size.
PixelSizepixel size.
StyleHintstyle hint. 可用值:SansSerif,Helvetica,Serif,Times,TypeWriter,Courier,OldEnglish,Decorative,Monospace,Fantasy,Cursive
Weightweight. Qt XML 使用与 OpenType 兼容的从11000 的权重表。1 的权重会很薄,而1000 则会非常黑。可用的预定义权重:Thin (100)、ExtraLight (200)、Light (300)、Normal (400)、Medium (500)、DemiBold (600)、Bold (700)、ExtraBold (800)、Black (900)。
Stylestyle. 可用值:StyleNormal,StyleItalic,StyleOblique

调色板配置

可以使用配置文件中的Palette 子组,为每种样式配置默认的palettePalette 子组有两种定义方法:

[Fusion]
Palette\Window=#dedede
Palette\WindowText=#212121

更多信息,请参阅Palette QML 类型。

在项目中使用配置文件

为了使Qt Quick Controls 能够找到配置文件,必须使用Qt 资源系统(The Qt Resource System)将其内置到应用程序的资源中。下面是.qrc 文件的示例:

<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/">
    <file>qtquickcontrols2.conf</file>
</qresource>
</RCC>

注意: Qt Quick Controls 使用文件选择器加载配置文件。可以为不同的平台和本地提供不同的配置文件。详情请参见QFileSelector 文档。

最后,.qrc 文件必须在应用程序的构建文件中列出。例如

set(CMAKE_AUTORCC ON)
qt_add_executable(my_app
    application.qrc
    main.cpp
    ...
)
RESOURCES = application.qrc
...

另请参见:构建系统集成

© 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.