QtQuick自定义主题以及控件样式指引
自定义控件样式
请在Qt帮助索引中输入Customizing a Control进行查看
不过实际用下来感觉除非你想自己实现一套效果复杂的UI或是创造一个全新控件,比如:给UI添加模糊、虚化等ShaderEffect效果。不然不推荐用这个。比如本人就是想把CheckBox的大小改小,同时不改变显示样式,这个就很难办到。
系统自带的几种主题风格
- Default Style
- Fusion Style
- Imagine Style
- Material Style
- Universal Style
其中Imagine Style是使用图片定制风格,图片需要按照指定的命名来放置,具体操作请看文档:
http://doc.qt.io/qt-5/qtquickcontrols2-imagine.html
在c++中使用QQuickStyle
QQuickStyle::setStyle("Material");
具体内容请在帮助索引中搜索 QQuickStyle
命令行中设置
./app -style material
在Qt的环境变量中设置
QT_QUICK_CONTROLS_STYLE=universal ./app
使用配置文件
[Controls]
Style=Material
官方的gallery案例用的是这种。
网上有个哥们用的是:
if (sty == "mat") {
qputenv("QT_QUICK_CONTROLS_CONF", ":/qtquickcontrols2material.conf");
} else {
qputenv("QT_QUICK_CONTROLS_CONF", ":/qtquickcontrols2universal.conf");
}
本人用的是gallery案例中的方式,感觉通过设置环境变量来指定对应的conf不太灵活,所以上述方式仅供参考。
想要看懂conf文件需要看以下两篇文档
Qt Quick Controls 2 Configuration File
文档:http://doc.qt.io/qt-5/qtquickcontrols2-configuration.html
在默认情况下将文件放置于:/qtquickcontrols2.conf(也就是根目录)就会生效(需要设置QQuickStyle)
Controls Section
Style:定义全局控件样式
XXXX Section
对对应的style进行设置
Font Configuration
设置字体,有以下几个属性:
- Family
- PointSize
- PixelSize
- StyleHint
- Weight
- Style
Palette Configuration
Palette我不太清楚是干什么的
Material Style
文档:http://doc.qt.io/qt-5/qtquickcontrols2-material.html#material-theme-attached-prop
你可以单独给某一些控件设置style,以下是对应的属性:
accent
Button {
text: qsTr("Button")
highlighted: true
Material.accent: Material.Orange
}
background
Button {
text: qsTr("Button")
highlighted: true
Material.background: Material.Teal
}
elevation
控制阴影的属性
Pane {
width: 120
height: 120
Material.elevation: 6
Label {
text: qsTr("I'm a card!")
anchors.centerIn: parent
}
}
foreground
Button {
text: qsTr("Button")
Material.foreground: Material.Pink
}
primary
theme
三个可选项:
- Material.Light
- Material.Dark
- Material.System
Pane {
Material.theme: Material.Dark
Button {
text: qsTr("Button")
}
}
自定义主题
文档:http://doc.qt.io/qt-5/qtquickcontrols2-customize.html#creating-a-custom-style
推荐:http://www.cnblogs.com/Fuss/archive/2015/03/20/4353698.html
代码没怎么看,Control用的是1.0,可以作为参考,Github上有关这种UI定制的代码还是比较多,建议先去知乎搜索 “请问有哪些优质又开源的qml应用”
QtQuick自定义主题以及控件样式指引的更多相关文章
- arcgis api for js共享干货系列之二自定义Navigation控件样式风格
arcgis api for js默认的Navigation控件样式风格如下图: 这样的风格不能说不好,各有各的爱好,审美观,这里也不是重点,这里的重点是如何自定义一套自己喜欢的样式风格呢:自己自定义 ...
- WPF自定义控件与样式(8)-ComboBox与自定义多选控件MultComboBox
一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: 下拉选 ...
- arcgis api 3.x for js 共享干货系列之二自定义 Navigation 控件样式风格(附源码下载)
0.内容概览 自定义 Navigation 控件样式风格 源码下载 1.内容讲解 arcgis api 3.x for js 默认的Navigation控件样式风格如下图:这样的风格不能说不好,各有各 ...
- 【转】WPF自定义控件与样式(8)-ComboBox与自定义多选控件MultComboBox
一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等. 本文主要内容: 下拉选择控件ComboBox的自定义样式及扩展: 自定义多选控件Mul ...
- WPF 自定义ComboBox样式,自定义多选控件
原文:WPF 自定义ComboBox样式,自定义多选控件 一.ComboBox基本样式 ComboBox有两种状态,可编辑和不可编辑状态.通过设置IsEditable属性可以切换控件状态. 先看基本样 ...
- WPF Calendar 日历控件 样式自定义
原文:WPF Calendar 日历控件 样式自定义 粗略的在代码上做了些注释 blend 生成出来的模版 有的时候 会生成 跟 vs ui界面不兼容的代码 会导致可视化设计界面 报错崩溃掉 但是确不 ...
- WPF 自定义TabControl控件样式
一.前言 程序中经常会用到TabControl控件,默认的控件样式很普通.而且样式或功能不一定符合我们的要求.比如:我们需要TabControl的标题能够居中.或平均分布:或者我们希望TabContr ...
- 在 Visual C++ 中开发自定义的绘图控件
本文讨论的重点介于两者 之间 — 公共控件赋予您想要的大部分功能,但控件的外观并不是您想要的.例如,列表视图控件提供在许多视图风格中显示数据列表的方式 — 小图标.大图标.列表和详细列表(报告).然而 ...
- UWP入门(四)--设置控件样式
原文:UWP入门(四)--设置控件样式 官方定义:可以使用 XAML 框架通过多种方式自定义应用的外观. 通过样式可以设置控件属性,并重复使用这些设置,以便保持多个控件具有一致的外观. 可分享至不同e ...
随机推荐
- CF1029E
一个看起来就不对的贪心居然是正解... 但仔细思考一下,这种贪心倒的确找不到反例.. 贪心思想:每次找出离根节点最远的点,然后由根节点向这个点的父节点连边,一直连到所有点都能被覆盖即可,这样构造出的一 ...
- 在windows下Apache安装配置
安装,从官网下载,安装即可. 配置遇到一些问题: 1. the requested operation has failed 这是因为安装后的文件目录没有没有写的权限.通过安全设置安装目录的所有 ...
- HDU 1695 GCD (莫比乌斯反演模板)
GCD Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- 上手TensorFlow
tensorflow中softmax_cross_entropy和sparse_softmax_cross_entropy的区别 都是softmax cross entropy损失函数,区别在于lab ...
- asp.net core 中间件应用
中间件是一种装配到应用管道以处理请求和响应的软件. 每个组件: 选择是否将请求传递到管道中的下一个组件. 可在调用管道中的下一个组件前后执行工作. 请求委托(Request delegates)用于生 ...
- MySQl 查询性能优化相关
0. 1.参考 提升网站访问速度的 SQL 查询优化技巧 缓存一切数据,读取内存而不是硬盘IO 如果你的服务器默认情况下没有使用MySQL查询缓存,那么你应该开启缓存.开启缓存意味着MySQL 会把所 ...
- C# 之设计原则
代码也需要有秩序,就像世界需要秩序,基于SOLID architecture principles. 一.SOLID原则 S.O.L.I.D.是一组面对面向对象设计的最佳实践的设计原则.术语来自Rob ...
- mysql数据类型(三)
MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 数值类型 MySQL支持所有标准S ...
- Django时区的解释
https://segmentfault.com/q/1010000000405911
- Codeforces 316E3 线段树 + 斐波那切数列 (看题解)
最关键的一点就是 f[ 0 ] * a[ 0 ] + f[ 1 ] * a[ 1 ] + ... + f[ n - 1] * a[ n - 1] f[ 1 ] * a[ 0 ] + f[ 2 ] * ...