Qt Quick 控件样式

可用的样式

Qt Quick 控件提供了一系列样式。

基本样式

基本样式 是一种简单、轻量级的通用样式,为 Qt Quick 控件提供了最佳性能。

融合样式

融合样式的浅色主题。

融合样式的深色主题。

融合样式 是一种平台无关的样式,为 Qt Quick 控件提供了面向桌面的外观和感觉。

想象样式

想象样式 基于图像资产。这种样式自带一组默认图像,可以通过提供使用预定义命名约定命名的图像目录轻松更改。

macOS 风格

macOS 风格的浅色主题。

macOS 风格的深色主题。

macOS 风格 是适用于 macOS 的具有本地外观的样式。

注意:此样式仅供在 macOS 上运行的应用程序使用。

iOS 风格

iOS 风格的浅色主题。

iOS 风格的深色主题。

iOS 风格 是基于图像资产的 iOS 本地外观样式。

注意:此样式仅供在 iOS 上运行的应用程序使用。

物料样式

物料样式的浅色主题。

物料样式的深色主题。

物料样式 提供了基于 Google 物料设计指南的有吸引力的设计,但需要比基本样式更多的系统资源。

通用样式

通用样式的浅色主题。

通用样式的深色主题。

通用样式 提供了基于 Microsoft 通用设计指南的有吸引力的设计,但需要比基本样式更多的系统资源。

Windows 风格

Windows 风格 是适用于 Windows 的具有本地外观的样式。

注意:此样式仅供在 Windows 上运行的应用程序使用。

在 Qt Quick 控件中使用样式

默认样式

如果没有明确设置样式,将使用默认样式。所使用的样式取决于操作系统

对于所有其他操作系统,使用基本风格

编译时风格选择

编译时风格选择是通过在QML中导入它来指定要使用的风格的方式。例如,导入Material风格

import QtQuick.Controls.Material

ApplicationWindow {
    // ...
}

请注意,QtQuick.Controls(负责运行时风格选择)没有被导入。回退样式由样式的qmldir指定

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

编译时风格选择的好处是QML编译器知道正在使用哪个特定风格,并且可以为绑定生成C++代码。

另一个好处是,不需要使用QtQuick.Controls插件,因此不需要与应用程序一起部署。

显式导入也是必要的,如果你的应用程序是无状态构建的静态

编译时风格选择的缺点是,一个可执行文件不能支持多种风格,因为每种风格都需要自己的。

运行时风格选择

运行时风格选择是通过导入QtQuick.Controls来指定要使用的风格的方式

import QtQuick.Controls

QtQuick.Controls插件将导入运行时通过以下方法之一设置的样式和回退样式

  • QQuickStyle::setStyle()
  • -style命令行参数
  • QT_QUICK_CONTROLS_STYLE环境变量
  • qtquickcontrols2.conf配置文件

这些方法的优先级遵循它们的列表顺序,从高到低。也就是说,使用QQuickStyle来设置样式将始终优先于使用命令行参数,例如。

运行时风格选择的好处是,单个应用程序二进制文件可以支持多种风格,这意味着最终用户可以选择使用哪种风格来运行应用程序。

这种方法的一个缺点是,QML编译器不能知道正在使用哪个特定风格,因此不能生成Qt Quick Controls类型的属性绑定的C++代码。这不会影响QML编译器生成其他模块类型的绑定C++代码的能力。

在C++中使用QQuickStyle

QQuickStyle提供用于配置特定样式的C++ API。以下示例运行了使用Material样式的Qt Quick Controls应用程序

QQuickStyle::setStyle("Material");

有关QQuickStyle的详细信息,请参阅详述。

命令行参数

通过传递-style命令行参数是测试不同样式的方便方式。它优先于下文列出的其他方法。以下示例运行了使用Material样式的Qt Quick Controls应用程序

./app -style material

环境变量

设置QT_QUICK_CONTROLS_STYLE环境变量可以用于设置全系统样式首选项。它优先于下文提到的配置文件。以下示例运行了使用通用样式的Qt Quick Controls应用程序

QT_QUICK_CONTROLS_STYLE=universal ./app

请参阅Qt Quick Controls 支持的环境变量以获取支持的环境变量完整列表。

配置文件

Qt Quick Controls 支持一个特殊的配置文件,:/qtquickcontrols2.conf,该文件构建到应用程序的资源中。

该配置文件可以指定首选样式(可能由前面描述的任一方法覆盖)以及某些特定样式的属性。以下示例指定首选样式是物料样式。

[Controls]
Style=Material

有关配置文件的更多信息,请参阅Qt Quick Controls 配置文件

© 2024 Qt 公司有限公司。此处包含的文档贡献是各自所有者的版权。此处提供的文档根据由自由软件基金会发布的GNU自由文档许可版1.3的条款许可。Qt及其相关标志是芬兰和/或其他国家的Qt公司注册商标。所有其他商标均为其各自所有者的财产。