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

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

我想要的美化效果

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. js递归错误

    错误信息:Uncaught RangeError: Maximum call stack size exceeded 问题代码: js代码:$(function(){        selectTog ...

  2. C# 控制台模拟序列化和反序列化

    序列化:将对象转换成二进制串的过程 反序列化:将序列化过程中产生的二进制串转换成对象的过程 作用:传输数据 using System; namespace WriteTextContent { [Se ...

  3. x+=i和x = x+i比较 -- 简单赋值和复合赋值

    这两个赋值方式其实是有区别的,如果最后结果的类型和左操作数的类型一样,那么这两个表达式就完全等价. 下面来看看两个例子来理解它们的区别: 编写一个程序,使得x+=i合法, x = x+i: 不合法. ...

  4. Relay GraphQL理解

    Relay是构建数据驱动 React 应用的js框架. Relay:特性一.声明式:不再使用一个命令式API与数据存储通讯.而是简单的使用RraphQL声明组件数据需求,让Relay理解如何及什么时候 ...

  5. Java Bean与Map之间相互转化的实现

    目录树 概述 Apache BeanUtils将Bean转Map Apache BeanUtils将Map转Bean 理解BeanUtils将Bean转Map的实现之手写Bean转Map 概述 Apa ...

  6. 使用RMAN增量备份处理Dataguard因归档丢失造成的gap

    场景: 备库执行日志应用出现如下报错: Thu Mar 29 11:21:45 2018FAL[client]: Failed to request gap sequence GAP - thread ...

  7. KMP初探

    最近在做字符串匹配,沉迷于indexof无法自拔,但是考虑到大数据处理的时间复杂度,决定研究一波KMP. 在这我就不讲什么原理了,转自: https://www.cnblogs.com/zhangti ...

  8. 免安装版MySQL8数据库的安装

    [环境准备] PC版本:Windows10企业版.64位操作系统 数据库:MySQL8.0.12-win64.zip免安装版 [彻底卸载已安装的MySQL数据库] 由于系统中MySQL数据库的卸载不彻 ...

  9. 08.nextcloud搭建

    由于公司用的nfs文件共享系统满足不了权限需求,测试nextcloud是否符合要求 参考博客: https://www.cnblogs.com/davidz/articles/9686716.html ...

  10. HTML-CSS的几种布局

    第一种  两栏式布局 <body> <!-- 两栏式布局 --> <!-- 想要的效果是左边图片右边文字 拉伸盒子文字的高度宽度自动改变 --> <div c ...