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...
名称命名为Material,选择项目保存路径,点击下一步。
选择构建系统为qmake。
注:这里千万别选错,之前我没注意,用了默认CMake,后面要配置工程的时候一下子懵逼了。
接下来就是一路的“下一步”,用默认的配置就行了,最后“完成”进入编辑器。
修改默认打开的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,绿色三角形图标)按钮
Material风格已经使用成功。
再次修改Button部分的代码,如下
Button {
text: qsTr("Click")
anchors.centerIn: parent
highlighted: true
Material.accent: Material.Orange
}
然后再次构建运行,效果如下
上面这种方法就是在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
}
}
构建运行程序,效果如下
恢复成了它的默认样式Basic Style。
然后右键单击项目视图中的项目名Material,选择添加新文件…
选择Qt > Qt Resource File > Choose…
文件名命名为controls_conf,点击“下一步” > "完成"。
进入编辑器,右键单击刚才新创建的“controls_conf.qrc” > 添加新文件
选择General > Empty File,“Choose…”
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这些值指定,关于这些值的意思可以参见帮助文档。
现在可以构建运行程序看看效果了
这里是因为我Windows10操作系统用的是暗黑主题,所以看到的Dark主题效果。感兴趣的读者可以修改自己系统主题色看效果。
以上就是在Qt Quick中使用Material风格样式的两种方法,要是想用其它的风格,方法是一样的,感兴趣的读者可以试试。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com