有没有大神知道qslider的sliderreleased信号怎么用啊,我用这个信号连接槽不知道问什么就是调用不了槽函数,但改成valuechange就可以
#include "dialog.h"
#include "ui_dialog.h"
#include <QtGui/QLineEdit>
#include <QtGui/QSlider>
#include <QtGui/QHBoxLayout>
#include <QDebug>
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
lineEdit = new QLineEdit("50");
//新建一个水平方向的滑动条QSlider控件
slider = new QSlider(Qt::Horizontal);
//设置滑动条控件的最小值
slider->setMinimum(500);
//设置滑动条控件的最大值
slider->setMaximum(1500);
//设置滑动条控件的值
slider->setValue(600);
//信号和槽 当滑动条的值发生改变时,即产生一个valueChanged(int)信号 设置QLineEdit控件的显示文本
connect(slider, SIGNAL(sliderReleased()), this, SLOT(setLineEditValue(int)));
QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(lineEdit);
layout->addWidget(slider);
this->setLayout(layout);
this->resize(200, 50);
this->setWindowTitle("QSliderDemo");
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::setLineEditValue(int value)
{
int pos = slider->value();
QString str = QString("%1").arg(pos);
lineEdit->setText(str);
qDebug()<<"a time"<<endl;
}
connect(slider, SIGNAL(sliderReleased()), this, SLOT(setLineEditValue(int)));
这样写完全调用不了函数。
connect(slider, SIGNAL(valueChanged(int)), this, SLOT(setLineEditValue(int)));
但这样就可以,不明白为什么。
帮助文档里面的sliderReleased()确实没有参数。