我是靠谱客的博主 激动毛巾,最近开发中收集的这篇文章主要介绍QSlider 拖动滑动条使用valueChanged(int value)信号重复调用槽函数问题解决,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

原文地址::https://blog.csdn.net/u011857683/article/details/77865581?locationNum=5&fps=1

使用三个槽,防止滑动的时候重复调用,只有滑动停止才会去改变这个值

 

 

 

 
  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


 

 

 

 
  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. }


 

 

 

 

 
  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. }


 

 

 

程序运行截图:

 

 

 

 

 

本文转自:

http://blog.csdn.net/qiurisuixiang/article/details/6897914

最后

以上就是激动毛巾为你收集整理的QSlider 拖动滑动条使用valueChanged(int value)信号重复调用槽函数问题解决的全部内容,希望文章能够帮你解决QSlider 拖动滑动条使用valueChanged(int value)信号重复调用槽函数问题解决所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部