感觉滑块这个东西,可以算是一个基本模块了,在我的项目中也有这个模块,今天我将学一下一下滑块的使用以及美化工作。

想学习滑块,那就要先建立一个滑块,新建工程什么的这里就省略了,不会的可以看我前面的几篇文章中的内容。

我想要的美化效果

http://blog.csdn.net/z609932088/article/details/71247336

先上建立滑块的代码

    Slider
{
x: (parent.width - width)/2
y: (parent.height - height)/2
width: 600
height: 20
stepSize: 0.01
onValueChanged:
{
console.log(value)
}
}

这几行代码就是简单的显示一个滑块,前两行就是这个滑块的XY坐标了。在程序界面中心显示

下面是规定了这个滑块的宽和高。

下面的一行我理解为精度

这是有道词典的解释

剩下下面的这个就是当这个滑块的值改变的时候,所做的事情,目前是把他打印出来。

下面是美化部分

Slider
{
x: (parent.width - width)/2
y: (parent.height - height)/2
width: 600
height: 20
stepSize: 0.01
onValueChanged:
{
console.log(value)
}
style: SliderStyle
{
groove: m_Slider
}
}
Component
{
id: m_Slider
Rectangle
{
implicitHeight:8
color:"gray"
radius:8
}
}

在上面代码的基础上面,我们增加了

style: SliderStyle
{
groove: m_Slider
}

这里的style的写法和前面的可能不一样,前面的style写法是将我们的方法直接写进这个style 的大括号内,这样虽然直接,但是这样的写法感觉更像是用了C的面向过程的思想,所以,这里我们用了新的方法,组件,组件这在QML中感觉就是一个非常好的发明。到我们吧这个内容写成一个组件以后,在其他地方就可以直接使用了,而不用每次都来复制相同的代码了。

组件中的内容也是很好理解的,就是吧我们滑块槽的高度设置为8,把颜色设置为灰色。圆角设置为8,这里有个小小的疑问就是,我不知道是那句话吧滑块的样式也改成了原型了,这里如果有牛逼的大神,还望赐教

上对比截图

这就是下面这个美化组件的作用

下面的滑块的美化,

 Slider
{
x: (parent.width - width)/2
y: (parent.height - height)/2
width: 600
height: 20
stepSize: 0.01
onValueChanged:
{
console.log(value)
}
style: SliderStyle
{
groove: m_Slider
handle: m_Handle
}
}
Component
{
id: m_Slider
Rectangle
{
implicitHeight:8
color:"gray"
radius:8
}
}
Component
{
id: m_Handle
Rectangle{
anchors.centerIn: parent;
color:control.pressed ? "white":"lightgray";
border.color: "gray";
border.width: 2;
width: 34;
height: 34;
radius: 12; }
}

在前面的基础上面增加的滑块的美化,同样是采用模块的形式来写。

Rectangle{
anchors.centerIn: parent;
color:control.pressed ? "white":"lightgray";
border.color: "gray";
border.width: 2;
width: 34;
height: 34;
radius: 12; }

这部分代码就是吧滑块的剧中显示,完了设置了按下的颜色,这里我使用没有效果。不知道哪里有问题哈

下面就是指定 了边框的颜色和宽度

剩下就是宽度和高度以及圆角弧度

运行截图自行对比

突然发现一个这样写的问题,这里代码中control是SliderStyle才有的东西,在组件中就不会承认了,这就导致了某些样式是显示不出来的,真么解决这个问题,我还得研究研究,关于slider的内容今天先写到这里,明天在研究

Qt-QML-Slider-滑块-Style的更多相关文章

  1. Qt QML referenceexamples attached Demo hacking

    /********************************************************************************************* * Qt ...

  2. 表单(下)-EasyUI Spinner 微调器、EasyUI Numberspinner 数值微调器、EasyUI Timespinner 时间微调器、EasyUI Slider 滑块

    EasyUI Spinner 微调器 扩展自 $.fn.validatebox.defaults.通过 $.fn.spinner.defaults 重写默认的 defaults. 微调器(spinne ...

  3. Qt qml 单例模式

    Qt qml 单例模式,没什么好说的,看代码吧.单例模式很适合做全局的配置文件. [示例下载] http://download.csdn.net/detail/surfsky/8539313 [以下是 ...

  4. Qt qml listview 列表视图控件(下拉刷新、上拉分页、滚动轴)

    Qt qml listview下拉刷新和上拉分页主要根据contentY来判断.但要加上顶部下拉指示器.滚动条,并封装成可简单调用的组件,着实花了我不少精力:) [先看效果]    [功能] 下拉刷新 ...

  5. qt qml qchart 图表组件

    qt qml qchart 图表组件 * Author: Julien Wintz * Created: Thu Feb 13 23:41:59 2014 (+0100) 这玩意是从chart.js迁 ...

  6. qt qml中PropertyAnimation的几种使用方法

    qml文章 qt qml中PropertyAnimation的几种使用方法 动画应用场景有以下几种: 首先如果一个Rectangle.动画是要改变它的x和y值 1,Rectangle一旦被创建,就要移 ...

  7. easyUI slider滑块,在加载出来后,easyUI slider滑块禁用方法

    easyUI slider滑块禁用 如下图easyUI slider滑块,在加载出来后,需要禁止拉动 easyUI slider滑块禁用方法 //禁用$(s1).slider({ disabled:t ...

  8. 指定Qt程序运行的style,比如fusion(以前没见过QStyleFactory)

    转载请注明文章:指定Qt程序运行的style,比如fusion 出处:多客博图 代码很简单,如下: #include <QtWidgets/QApplication>   #include ...

  9. Qt qml的软件架构设计

    google: qt qml application architecture 有很多资源. 1 https://www.ics.com/blog/multilayered-architecture- ...

  10. Qt Quick 常用元素:TabView(选项卡) 与 Slider(滑块)

    一.TabView TabView 可以实现类似 Windows 任务管理器的界面,有人叫 TabView 为标签控件,有人又称之为选项卡控件,我们知道它就是这么个东西就行了.现在来介绍 TabVie ...

随机推荐

  1. [19/04/06-星期六] 多线程_静态代理(StaticProxy)和 lamda (简化代码,jdk8新增)

    一.静态代理 [代码示例] /*** * 静态代理:记录日志等,类是写好的,直接拿来用. 动态代理:随用随构建,临时抱佛脚 * 婚庆公司:代理角色,帮你搞婚庆的一切,布置房间等等 * 自己:真实角色, ...

  2. Linux网络配置&进程管理

     原理图 查看ip和网关

  3. Windows 2008 Scheduled tasks result codes

    0 or 0x0: The operation completed successfully. 1 or 0x1: Incorrect function called or unknown funct ...

  4. 让NSArray数组中每个对象都调用的方法

    1. [array valueForKey:@"title"]; //Returns an array containing the results of invoking val ...

  5. Oracle split分区表引起ORA-01502错误

    继上次删除分区表的分区遇到ORA-01502错误后[详细见链接:Oracle分区表删除分区引发错误ORA-01502: 索引或这类索引的分区处于不可用状态],最近在split分区的时候又遇到了这个问题 ...

  6. oracle系列(三)表操作基础

    支持的数据类型: 字符型char 定长 最大2000varchar2() 变长 最大4000clob 字符型大对象 最大4G 数字型number范围 -10的38次方到10的+38次方;number( ...

  7. lock free

    #include <thread> #include <iostream> #include <mutex> #include <atomic> #in ...

  8. ABAP术语-SAPNET

    SAPNET 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/17/1109823.html SAPNet is the intranet p ...

  9. keil5最新版安装与破解

    1. 下载链接: https://pan.baidu.com/s/1BIrhqmxWdHY7hvihE0Wd4A 密码: cp45 2. 解压缩后得到: 3. 运行mdk526.exe安装keil5. ...

  10. Grep/find查找文件

    1. 查找secret 函数所在的文件位置grep -rn secret * grep -rn "secret" * 2. find 查找当前目录下,比while2 时间新并且名字 ...