QT自定义滑条

效果:

1、两个按键可以滑动;
2、滑动之后hover状态可以显示按键的x坐标。
在这里插入图片描述

代码:

	//上下滑动条在ui中分别为pbSliderUp和pbSliderDown
	ui->pbSliderUp->setToolTip(QString("%1").arg(ui->pbSliderUp->x()));
    ui->pbSliderDown->setToolTip(QString("%1").arg(ui->pbSliderDown->x()));
    //上面的滑动条
    QTimer *timer = new QTimer;
    connect(timer,&QTimer::timeout,this,[=]()
    {
        QPoint pos = QCursor::pos();
        int x =  pos.x();
        //我也不知道为什么刚开始打印出来pos.x()的值就是为944,那我也只能按944去减了。
        //所以你们设置这个的时候就先打印看下pos.x()值确定为多少再计算
        if(x >=944 && x<=944+100)
        {
            ui->pbSliderUp->move(x-944, ui->pbSliderUp->y());
        }
        qDebug() <<"pb x is :"<<ui->pbSliderUp->x();

    });
    connect(ui->pbSliderUp, &QAbstractButton::pressed, this, [=]()
    {
        timer->start();
    });
    connect(ui->pbSliderUp, &QAbstractButton::released, this, [=]()
    {
        timer->stop();
        ui->pbSliderUp->setToolTip(QString("%1").arg(ui->pbSliderUp->x()));
    });

    //下面的滑动条
    QTimer *timer2 = new QTimer;
    connect(timer2,&QTimer::timeout,this,[=]()
    {
        QPoint pos = QCursor::pos();
        int x =  pos.x();
        if(x >=944 && x<=944+100)
        {
            ui->pbSliderDown->move(x-944, ui->pbSliderDown->y());
        }
    });
    connect(ui->pbSliderDown, &QAbstractButton::pressed, this, [=]()
    {
        timer2->start();
    });
    connect(ui->pbSliderDown, &QAbstractButton::released, this, [=]()
    {
        timer2->stop();
        ui->pbSliderDown->setToolTip(QString("%1").arg(ui->pbSliderDown->x()));
    });

注意:

这个好像可有可无,是用来弄按键长时间点击用的:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值