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

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

我想要的美化效果

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. CUDA 深入浅出谈[转]

    CUDA 深入浅出谈           “CUDA 是 NVIDIA 的 GPGPU 模型,它使用 C 语言为基础,可以直接以大多数人熟悉的 C 语言,写出在显示芯片上执行的程序,而不需要去学习特定 ...

  2. 【SQLSERVER学习笔记】细节记录

    SQLSERVER 查询时,WHERE中使用<>时,不会把NULL值查出来. SQLSERVER子查询中不能使用 ORDER BY. SQLSERVER 使用DISTINCT时,必须把OR ...

  3. Nginx自定义模块编写:根据post参数路由到不同服务器

    Nginx自定义模块编写:根据post参数路由到不同服务器 2014-05-05 15:27 blogread IT技术博客 字号:T | T Nginx可以轻松实现根据不同的url 或者 get参数 ...

  4. update更新修改数据

    update ---整表更新数据 update  表名  set  需要调整字段1= '值1' ,需要调整字段2= '值2'  …… ---更新条件数据 update  表名  set  需要调整字段 ...

  5. MySQL中的事件/定时任务

    转载自:http://www.cnblogs.com/chenpi/p/5137310.html 什么是事件 一组SQL集,用来执行定时任务,跟触发器很像,都是被动执行的,事件是因为时间到了触发执行, ...

  6. js 单引号和双引号的使用注意事项

    前言: 刚入行时,对单双引号没有过研究,使用时也是碰到什么用什么,后来慢慢遇到引号嵌套时报错,才了解问题.因之前的文章稍显混乱,现重新编辑,帮助需要的人儿. 正文: 1.一般情况下(没有嵌套)在js中 ...

  7. 【Django笔记二】Django2.0配置模板和静态文件

    一.环境版本信息: 操作系统:windows10 Django版本:2.0.5 Python版本:3.6.4 二.创建模板 1.在my_project文件夹下新建文件夹templates用于存放模板文 ...

  8. 复习宝典之Spring

    查看更多宝典,请点击<金三银四,你的专属面试宝典> 第六章:Spring Spring容器是Spring的核心,一切Spring bean都存储在Spring容器内,并由其通过IoC技术管 ...

  9. js新开窗口避免浏览器拦截解决方案

    Ajax回调函数中,打开新窗口解决方案 var w = window.open(); $.post("GetHomToTestPaper", {homeworkName:homew ...

  10. Thinkphp5 使用composer中seeder播种机

    前因: 前几天,客户要求做一个会员问答的系统,我就按流程做了,到了需要调用数据库数据时,觉得一个个添加又有点笨~ 解决过程: 后来查了查手册,看看国外blog案例,我搞出来了个不错的方法~~~ 我的使 ...