qt怎么集成样式(Quick中使用Material风格样式)

吐槽一下先:QtCreator不怎么好用,代码提示迟钝,不能自动导入库[黑线]

在Qt Quick中支持的风格样式挺多的,有Basic Style,Fusion Style,Imagine Style,MacOs Style,Material Style,Universal Style和Windows Style。

今天我们就来看看如何在Qt Quick中使用Material风格样式。

在Qt Quick中使用样式可以有两种方式,一个是在qml代码中直接声明,另一种是通过配置文件。

下面我们就来看看这两种方法。

新建项目Qt Quick Application > Choose...

qt怎么集成样式(Quick中使用Material风格样式)(1)

名称命名为Material,选择项目保存路径,点击下一步。

qt怎么集成样式(Quick中使用Material风格样式)(2)

选择构建系统为qmake。

注:这里千万别选错,之前我没注意,用了默认CMake,后面要配置工程的时候一下子懵逼了。

qt怎么集成样式(Quick中使用Material风格样式)(3)

接下来就是一路的“下一步”,用默认的配置就行了,最后“完成”进入编辑器。

修改默认打开的main.qml文件代码如下

import QtQuick import QtQuick.Controls.Material ApplicationWindow { width: 640 height: 480 visible: true title: qsTr("Hello World") Material.theme: Material.Dark Button { text: qsTr("Click me") anchors.horizontalCenter: parent.horizontalCenter } }

第2行代码引入Material样式。

第4行的Window修改为ApplicationWindow。

第10行设置主题为暗黑主题。

修改完代码后,点击左侧边栏上最下方的构建(Build,锤子图标)按钮,然后点击运行(Run,绿色三角形图标)按钮

qt怎么集成样式(Quick中使用Material风格样式)(4)

qt怎么集成样式(Quick中使用Material风格样式)(5)

Material风格已经使用成功。

再次修改Button部分的代码,如下

Button { text: qsTr("Click") anchors.centerIn: parent highlighted: true Material.accent: Material.Orange }

然后再次构建运行,效果如下

qt怎么集成样式(Quick中使用Material风格样式)(6)

上面这种方法就是在QML代码中直接使用Material样式。

下面我们再来看看如何通过配置文件使用。

修改main.qml将Material相关代码注释掉

import QtQuick import QtQuick.Controls //import QtQuick.Controls.Material ApplicationWindow { width: 640 height: 480 visible: true title: qsTr("Material风格") // Material.theme: Material.Dark Button { text: qsTr("按钮") anchors.centerIn: parent highlighted: true // Material.accent: Material.Orange } }

构建运行程序,效果如下

qt怎么集成样式(Quick中使用Material风格样式)(7)

恢复成了它的默认样式Basic Style。

然后右键单击项目视图中的项目名Material,选择添加新文件…

qt怎么集成样式(Quick中使用Material风格样式)(8)

选择Qt > Qt Resource File > Choose…

qt怎么集成样式(Quick中使用Material风格样式)(9)

文件名命名为controls_conf,点击“下一步” > "完成"。

qt怎么集成样式(Quick中使用Material风格样式)(10)

进入编辑器,右键单击刚才新创建的“controls_conf.qrc” > 添加新文件

选择General > Empty File,“Choose…”

qt怎么集成样式(Quick中使用Material风格样式)(11)

File name:qtquickcontrols2.conf

注:这个文件的名字必须这样命名,不能命名为其它名字。

帮助文档中的原文描述:

Qt Quick Controls support a special configuration file, qtquickcontrols2.conf, which is built into an application's resources.

接着点击“下一步” > “完成”,进入编辑器。

修改qtquickcontrols2.conf

[Controls] Style=Material [Material] Theme=System Accent=Red

Controls字段

支持两个值的指定,分别是Style和FallbackStyle。这两个值可以取值为内置样式之一(本文文首第二段中提到的那些样式)或者自定义样式。

FallbackStyle是用来指定样式没有应用成功时要使用的样式。默认使用Basic样式。

Material字段

Theme指定主题,有Dark、Light(默认)和System三个取值。

Accent指定强调颜色。

Material字段还支持Variant、Primary、Foreground和Background这些值指定,关于这些值的意思可以参见帮助文档。

现在可以构建运行程序看看效果了

qt怎么集成样式(Quick中使用Material风格样式)(12)

这里是因为我Windows10操作系统用的是暗黑主题,所以看到的Dark主题效果。感兴趣的读者可以修改自己系统主题色看效果。

以上就是在Qt Quick中使用Material风格样式的两种方法,要是想用其它的风格,方法是一样的,感兴趣的读者可以试试。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页