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

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

我想要的美化效果

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. leetcode 78. Subsets 、90. Subsets II

    第一题是输入数组的数值不相同,第二题是输入数组的数值有相同的值,第二题在第一题的基础上需要过滤掉那些相同的数值. level代表的是需要进行选择的数值的位置. 78. Subsets 错误解法: cl ...

  2. es6之decorator

    //decorator //第三方库为:core-decorators //以下为代码实例 { //decorator //修饰器是一个函数 //是修改一个行为 //修改一个类的行为 console. ...

  3. 【题解】洛谷P1283 平板涂色(搜索+暴力)

    思路 看到n<16 整个坐标<100 肯定想到暴力啊 蒟蒻来一发最简单易懂的题解(因为不会DP哈 首先我们用map数组来存坐标图 注意前面的坐标需要加1 因为输入的是坐标 而我们需要的是格 ...

  4. Ubuntu下配置安装telnet server

    1.安装xinetd 以及telnetd # apt-get install xinetd telnetd 2.配置文件/etc/inetd.conf #vi /etc/inetd.conf # St ...

  5. 第24章 QSPI—读写串行FLASH

    本章参考资料:<STM32F76xxx参考手册>.<STM32F76xxx规格书>.库帮助文档<STM32F779xx_User_Manual.chm>及<S ...

  6. react系列(零)安装

    安装 在最初的阶段,可以使用在线编辑的网站来学习React基本的语法. 从 Hello World 开始,可以在Codepen,或者codesandbox上进行编写. 当然,也可以使用npm或者yar ...

  7. delect 删除

    delete ---整表数据删除 (慎用) delete  * from 表名; ---条件删除 delete  * from  表名  where  限制条件;

  8. Python的多进程

    这里不说其它,Python的多进程网上已经有很多了,可以尽情搜索.但是用多进程一般是采用对任务的方式,所以注意文件锁定.一般采用Pool是比较合适的.给个网友的小代码 from multiproces ...

  9. python3爬虫-网易云排行榜,网易云歌手及作品

    import requests, re, json, os, time from fake_useragent import UserAgent from lxml import etree from ...

  10. MySQL(mariadb)多实例应用与多实例主从复制

    MySQL多实例 mysql多实例,简单理解就是在一台服务器上,mysql服务开启多个不同的端口(如3306.3307,3308),运行多个服务进程.这些 mysql 服务进程通过不同的 socket ...