qml 皮肤(一)使用系统自带的Style

之前使用qml的时候总是觉得界面风格设置特别费劲,最近查了一下文档,感觉Qt Quick Controls 2里设置的方法还是不错的。

1.Qt Quick Controls 2 自带一系列的style,如下图所示:Default Style、Material Style、Universal Style

2.配置方法

qml 里添加: (对应版本可以自行查询文档,Qt5.9是2.2版本)

import QtQuick.Controls 2.2

c++里添加:

#include <QtQuickControls2> 

pro文件中追加

QT += quickcontrols2

3.使用方法

官方也给出了几种方式:

c++:

QQuickStyle::setStyle("Material");

命令行: 

./app -style material

环境变量: 

QT_QUICK_CONTROLS_STYLE=universal ./app

配置文件:

/qtquickcontrols2.conf

我个人觉得配置文件的方式比较方便一些,这个在创建Qt Quick Controls 2工程时会自动添加进来

其中,[Controls] 中Style=Material 就是设置系统风格,以Material 为例,具体属性如下:

accent : color
background : color
elevation : int
foreground : color
primary : color
theme : enumeration 

 

按照自己的需求配置color、theme等就可以了,Light 和Dark可以参照下面这些颜色,这个配置文件主要是设置系统主题、主体颜色

如果控件想要不同颜色,在使用时可以单独设置,其中highlighted默认是false的,这个需要设置为true,才有效

Button {
        id: button
        x: 63
        y: 66
        text: qsTr("ButtonStyle")
        font.weight: Font.Normal
        highlighted: true
        Material.accent: Material.Green
        Universal.accent: Universal.Indigo
    }

然后,在你更换系统风格时,这些控件会自动根据当前的风格调整颜色,就是这样婶滴。。。

猜你喜欢

转载自blog.csdn.net/lyang0303/article/details/82907294