Qt基础学习(3)-----滑动条之QSlider

//mydialog.h
#ifndef MYDIALOG_H
#define MYDIALOG_H
#include 
class QLineEdit;
class QSlider;
class MyDialog : public QDialog
{
  Q_OBJECT
public:
  explicit MyDialog(QWidget *parent = 0);
signals:
public slots:
  void setLineEditValue(int value);
private:
  QLineEdit *lineEdit;
  QSlider *slider;
};
#endif // MYDIALOG_H


//mydialog.cpp
#include "mydialog.h"
#include 
#include 
#include 
MyDialog::MyDialog(QWidget *parent) :
  QDialog(parent)
{
  lineEdit = new QLineEdit("50");

  //新建一个水平方向的滑动条QSlider控件
  slider = new QSlider(Qt::Horizontal);
  //设置滑动条控件的最小值
  slider->setMinimum(0);
  //设置滑动条控件的最大值
  slider->setMaximum(100);
  //设置滑动条控件的值
  slider->setValue(50);

  //信号和槽 当滑动条的值发生改变时,即产生一个valueChanged(int)信号 设置QLineEdit控件的显示文本
  connect(slider, SIGNAL(valueChanged(int)), this, SLOT(setLineEditValue(int)));

  QHBoxLayout *layout = new QHBoxLayout();
  layout->addWidget(lineEdit);
  layout->addWidget(slider);

  this->setLayout(layout);
  this->resize(200, 50);
  this->setWindowTitle("QSliderDemo");
}

void MyDialog::setLineEditValue(int value)
{
  int pos = slider->value();
  QString str = QString("%1").arg(pos);
  lineEdit->setText(str);
}


//main.cpp
#include 
#include "mydialog.h"
int main(int argc, char *argv[])
{
  QApplication a(argc, argv);
  MyDialog dialog;
  dialog.show();
  return a.exec();
}


程序运行截图:

你可能感兴趣的:(Qt基础学习(3)-----滑动条之QSlider)