Qt之自定义带游标的QSlider
Posted 草上爬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt之自定义带游标的QSlider相关的知识,希望对你有一定的参考价值。
最近翻看6年前写了一篇关于QSlider的博客:Qt自定义带游标的slider,在滑块正上方显示当前值
发现存在很多问题,比如游标的坐标不准确;如果游标宽度稍大,滑到Slider最左或最右的时候会显示不全;游标不够美观。
PS:这里有个漂亮的Slider样式表https://blog.csdn.net/caoshangpa/article/details/53389517
一.效果
于是今天再实现了一遍,依然是子类化QSlider,效果如下,支持设置游标的尺寸:
二.实现
这一次的实现比之前简洁很多,只需要重新paintEvent和mouseMoveEvent就能完全达到想要的效果,因为QSlider自带isSliderDown方法能判断鼠标是否在滑块(handle)上按下
因为在滑块上hover需要显示游标,因此在构造函数中需要添加setMouseTracking(true);这里最最关键的是如何获取滑块的rect,
以上是关于Qt之自定义带游标的QSlider的主要内容,如果未能解决你的问题,请参考以下文章