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

Can we connect QPushButton to change values of QSlider?

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

首先创建插槽 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);
}

或者,在支持 C++11 的环境中,使用 lambda 表达式而不是新插槽

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