У меня есть две кнопки с пометкой +
и -
, вероятно, мне нужно увеличить и уменьшить значения ползунка с помощью этих кнопок, пожалуйста, помогите мне закодировать эту функцию.Можем ли мы подключить QPushButton для изменения значений QSlider?
0
A
ответ
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, способной среды, с лямбды вместо новых слотов
connect(minusButton, &QPushButton::clicked, slider,
[slider]() { slider->setValue(slider->value() - 1);});
connect(plusButton, &QPushButton::clicked, slider,
[slider]() { slider->setValue(slider->value() + 1);});
Я попробовал этот код в соответствии с вашими полезные комментарии, я новичок в Qt так помочь мне решить эту ошибку ошибку: 'horizontalSlider': необъявленный идентификатор мой каст файл: #include "mainwindow.h" #include "ui_mainwindow.h" MainWindow :: MainWindow (QWidget * родитель): QMainWindow (parent), ui (новый Ui :: MainWindow) { ui-> setupUi (this); connect (ui-> pushButton, SIGNAL (щелкнул (bool)), ui-> horizontalSlider, SLOT (plus())); } MainWindow :: ~ MainWindow() { delete ui; } void MainWindow :: plus() { ui-> horizontalSlider-> setValue (horizontalSlider -> value() + 1); } – Yana
@Yana добавить #include –
eyllanesc
@Yana и #include –
eyllanesc