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

  1. //mydialog.h  
  2. #ifndef MYDIALOG_H  
  3. #define MYDIALOG_H  
  4. #include <QDialog>  
  5. class QLineEdit;  
  6. class QSlider;  
  7. class MyDialog : public QDialog  
  8. {  
  9.   Q_OBJECT  
  10. public:  
  11.   explicit MyDialog(QWidget *parent = 0);  
  12. signals:  
  13. public slots:  
  14.   void setLineEditValue(int value);  
  15. private:  
  16.   QLineEdit *lineEdit;  
  17.   QSlider *slider;  
  18. };  
  19. #endif // MYDIALOG_H  


 

 

 

[cpp] view plain copy
 
  1. //mydialog.cpp  
  2. #include "mydialog.h"  
  3. #include <QtGui/QLineEdit>  
  4. #include <QtGui/QSlider>  
  5. #include <QtGui/QHBoxLayout>  
  6. MyDialog::MyDialog(QWidget *parent) :  
  7.   QDialog(parent)  
  8. {  
  9.   lineEdit = new QLineEdit("50");  
  10.   
  11.   //新建一个水平方向的滑动条QSlider控件  
  12.   slider = new QSlider(Qt::Horizontal);  
  13.   //设置滑动条控件的最小值  
  14.   slider->setMinimum(0);  
  15.   //设置滑动条控件的最大值  
  16.   slider->setMaximum(100);  
  17.   //设置滑动条控件的值  
  18.   slider->setValue(50);  
  19.   
  20.   //信号和槽 当滑动条的值发生改变时,即产生一个valueChanged(int)信号 设置QLineEdit控件的显示文本  
  21.   connect(slider, SIGNAL(valueChanged(int)), this, SLOT(setLineEditValue(int)));  
  22.   
  23.   QHBoxLayout *layout = new QHBoxLayout();  
  24.   layout->addWidget(lineEdit);  
  25.   layout->addWidget(slider);  
  26.   
  27.   this->setLayout(layout);  
  28.   this->resize(200, 50);  
  29.   this->setWindowTitle("QSliderDemo");  
  30. }  
  31.   
  32. void MyDialog::setLineEditValue(int value)  
  33. {  
  34.   int pos = slider->value();  
  35.   QString str = QString("%1").arg(pos);  
  36.   lineEdit->setText(str);  
  37. }  


 

[cpp] view plain copy
 
  1. //main.cpp  
  2. #include <QtGui/QApplication>  
  3. #include "mydialog.h"  
  4. int main(int argc, char *argv[])  
  5. {  
  6.   QApplication a(argc, argv);  
  7.   MyDialog dialog;  
  8.   dialog.show();  
  9.   return a.exec();  
  10. }  


 

程序运行截图:

posted @ 2018-02-11 13:49  苍月代表我  阅读(1334)  评论(0编辑  收藏  举报