我们可以连接QPushButton来改变QSlider的值吗?

时间:2017-01-02 04:08:12

标签: c++ qt qt5 qpushbutton qslider

我有两个标有+-的按钮,我需要使用这些按钮来增加和减少滑块的值,请帮我编写这个功能。

2 个答案:

答案 0 :(得分:2)

首先创建广告位plus()minus()

public slots:
    void plus();
    void minus();

然后将点击的信号与相应的插槽连接:

connect({your minus QPushButton}, SIGNAL(clicked()) , this, SLOT(minus()));
connect({your plus QPushButton}, SIGNAL(clicked()) , this, SLOT(plus()));

在每个插槽中执行增加或减少任务。

void {your widget}::plus()
{
    {your slider}->setValue({your slider}->value()+1);
}

void {your widget}::minus()
{
    {your slider}->setValue({your slider}->value()-1);
}

答案 1 :(得分:2)

或者,使用支持C ++ 11的环境,使用lambdas而不是新插槽

connect(minusButton, &QPushButton::clicked, slider,
        [slider] () { slider->setValue(slider->value() - 1 );});
connect(plusButton, &QPushButton::clicked, slider,
        [slider] () { slider->setValue(slider->value() + 1 );});