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

问题描述 投票:1回答:2

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

c++ qt qt5 qpushbutton qslider
2个回答
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);
}

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 );});
© www.soinside.com 2019 - 2024. All rights reserved.