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

做~自己de王妃 提交于 2019-11-30 03:44:12

之前使用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
    }
然后,在你更换系统风格时,这些控件会自动根据当前的风格调整颜色,就是这样婶滴。。。


————————————————
版权声明:本文为CSDN博主「momo0303kaka」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lyang0303/article/details/82907294

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!