#include "CustomSlider.h"
CustomSlider::CustomSlider(QWidget * parent)
: QSlider(parent)
, m_parentWidget(parent)
, m_uiSliderDisplay(NULL)
{
}
CustomSlider::~CustomSlider()
{
}
void CustomSlider::setBeginTimeLabel(QTime beginTime)
{
m_beginTime = beginTime;
}
void CustomSlider::setEndTimeLabel(QTime endTime)
{
m_endTime = endTime;
}
void CustomSlider::updateInterval()
{
m_interval = m_beginTime.secsTo(m_endTime)/(maximum()-minimum());
}
void CustomSlider::mousePressEvent(QMouseEvent *ev)
{
if (!m_uiSliderDisplay)
{
updateInterval();
m_uiSliderDisplay = new UiSliderDisplay(this);
m_uiSliderDisplay->setSliderDisplayLabel(m_beginTime.addSecs(sliderPosition()*m_interval).toString("hh:mm:ss"));
m_uiSliderDisplay->move(m_parentWidget->mapToGlobal(pos()).x()+sliderPosition()*(frameGeometry().width()-11)/(maximum()-minimum())-41,m_parentWidget->mapToGlobal(pos()).y()-25);
m_uiSliderDisplay->setVisible(true);
}
return QSlider::mousePressEvent(ev);
}
void CustomSlider::mouseReleaseEvent(QMouseEvent *ev)
{
if (m_uiSliderDisplay)
{
delete m_uiSliderDisplay;
m_uiSliderDisplay = NULL;
}
return QSlider::mouseReleaseEvent(ev);
}
void CustomSlider::mouseMoveEvent(QMouseEvent *ev)
{
if (m_uiSliderDisplay)
{
m_uiSliderDisplay->setSliderDisplayLabel(m_beginTime.addSecs(sliderPosition()*m_interval).toString("hh:mm:ss"));
m_uiSliderDisplay->move(m_parentWidget->mapToGlobal(pos()).x()+sliderPosition()*(frameGeometry().width()-11)/(maximum()-minimum())-41,m_parentWidget->mapToGlobal(pos()).y()-25);
m_uiSliderDisplay->setVisible(true);
}
return QSlider::mouseMoveEvent(ev);
}
没有合适的资源?快使用搜索试试~ 我知道了~
QSlider滑块点击时在滑块上显示当前值
共10个文件
cpp:4个
h:3个
ui:2个
3星 · 超过75%的资源 需积分: 47 153 下载量 120 浏览量
2016-05-27
22:06:18
上传
评论 5
收藏 4KB RAR 举报
温馨提示
由于项目需要,需要Qt中QSlider滑块点击时在滑块上显示当前值。但是在网上找了好多资料都没有发现具体的实现。后经自己研究实现了。本着开源的精神,贡献出来源代码,也希望有更好思路的朋友给予指点。
资源推荐
资源详情
资源评论
收起资源包目录
SliderDialog.rar (10个子文件)
SliderDialog
res
ui
SliderDisplay.ui 738B
MainDialog.ui 2KB
include
MainDialog.h 224B
CustomSlider.h 634B
UiSliderDisplay.h 289B
SliderDialog.pro 558B
src
CustomSlider.cpp 2KB
UiSliderDisplay.cpp 398B
main.cpp 208B
MainDialog.cpp 519B
共 10 条
- 1
资源评论
- ben88042023-10-23确实有点拉,搞的这种
- lmkkp2019-12-09可以用,qt5需要重新配置。
- 友善啊,朋友2019-03-17好资源 感谢分享
- zwk_csdn2017-04-01资源有点垃圾,不值。而且不能直接编译余小文2019-05-17怎么不能直接编译,这么基本的Qt知识都配置不好?又没人非让你下载
余小文
- 粉丝: 2
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功