我们可以连接 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 );});
我有两个可能标有 +
和 -
的按钮,我需要使用这些按钮来增加和减少滑块的值,请帮我编写此函数的代码。
首先创建插槽 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 );});