通过水平滚动条更改标签

时间:2018-10-05 14:31:44

标签: c++ qt qstackedwidget

我有一个水平滚动条,在滚动时会更改两个标签的值(数字)。

Bul,我也希望您在滚动它时可以更改堆栈控件上的图片。

当值变为0-40时一张图片,当值从41-70到另一张图片从71-100时。

我唯一能做到的就是改变图像,但是要一张一张地改变。 有人可以帮助我吗?我给你这样的代码:

wave++;
if(wave==1)
{
     ui->VolumeSWWave_5->setCurrentIndex(1);
}

if(wave>1)
{
 wave=0;
     ui->VolumeSWWave_5->setCurrentIndex(0);
}

{
    return;
    for (int i = 0; i < 10; ++i)
        qDebug("%1", i);
}

if(wave<1)
{
    wave=0;
    ui->VolumeSWWave_5->setCurrentIndex(2);
}

{
    return;
    for (int i = 0; i > 10; ++i)
        qDebug("%1", i);
}

1 个答案:

答案 0 :(得分:1)

如果您“捕获”该信号,则QAbstractSlider会有一个信号( actionTriggered(int)),然后您可以在if else块中确定要显示的图片:

void MainWindow::on_horizontalScrollBar_sliderMoved(int position)
{
    qDebug() << "position: " << position;
    if (position <= 40)
    {
        qDebug() << "set at index 1";
    }
    else if (position > 40 && position <= 71)
    {
        qDebug() << "set at index 2";
    }
    else
    {
        qDebug() << "set at index 3";
    }
}