之前使用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