• QT QDoubleSpinBox 浮点计数器控件(使用详解)


            本文详细的介绍了QDoubleSpinBox控件的各种操作,例如:新建界面获取数值设置前后缀设置最大/小值设置显示精度关联信号槽优化信号关联控件、文件源码、样式表等等操作。

            本文是QT控件使用详解的第十五篇 QT QDoubleSpinBox 浮点计数器控件(使用详解) 本系列文章较为详细的讲述了QT控件的基础操作和使用,也谢谢大家的关注、点赞、收藏。

     

    本文作者原创,转载请附上文章出处与本文链接。

    QT QDoubleSpinBox 浮点计数器控件(使用详解)目录

    1 新建界面

    2 获取数值

     3 设置前后缀

     4 设置最大/小值

    5 设置显示精度

      6 关联信号槽

     7 优化信号

     8 关联控件

      9 main.cpp

    10 mainwindow.h

    11 mainwindow.cpp

    12 样式表

    13 其它文章 :


    1 新建界面

           新建一个测试项目,修改界面添加 QDoubleSpinBox控件,添加几个按钮

    2 获取数值

            主要用到了 value() 函数

    1. /* 获取数值 */
    2. void MainWindow::on_pushButton_clicked()
    3. {
    4. QMessageBox::information(this,"提示",QString::number(ui->doubleSpinBox->value()));
    5. }

     3 设置前后缀

            主要用到了 setPrefix()  setSuffix()  函数, 设置完前缀后缀之后调整数字前后缀都有,需要取消则赋NULL

    1. /* 设置前缀 */
    2. void MainWindow::on_pushButton_2_clicked()
    3. {
    4. //获取
    5. //prefix()
    6. ui->doubleSpinBox->setPrefix(ui->lineEdit->text());
    7. }
    8. /* 设置后缀 */
    9. void MainWindow::on_pushButton_3_clicked()
    10. {
    11. //获取
    12. //suffix()
    13. ui->doubleSpinBox->setSuffix(ui->lineEdit->text());
    14. }

     4 设置最大/小值

            主要用到了 setMaximum()  setMinimum()  函数

    1. /* 设置最大值 */
    2. void MainWindow::on_pushButton_4_clicked()
    3. {
    4. ui->doubleSpinBox->setMaximum(ui->lineEdit_2->text().toDouble());
    5. }
    6. /* 设置最小值 */
    7. void MainWindow::on_pushButton_5_clicked()
    8. {
    9. ui->doubleSpinBox->setMinimum(ui->lineEdit_2->text().toDouble());
    10. }

    5 设置显示精度

    1. /* 设置显示精度 */
    2. void MainWindow::on_pushButton_6_clicked()
    3. {
    4. //获取
    5. //decimals()
    6. ui->doubleSpinBox->setDecimals(ui->lineEdit_3->text().toInt());
    7. }

      6 关联信号槽

            关联信号槽控件的每次响应都会发出信号

    1. void slotDoubleSpinBox();
    2. connect(ui->doubleSpinBox, SIGNAL(valueChanged(double)), this, SLOT(slotDoubleSpinBox()));
    3. /* 槽函数 */
    4. void MainWindow::slotDoubleSpinBox()
    5. {
    6. QMessageBox::information(this,"提示",QString::number(ui->doubleSpinBox->value()));
    7. }

     7 优化信号

            步骤6中,如果每输入一个数都会触发

    ui->doubleSpinBox->setKeyboardTracking(false);

    加入效果:

    不加入效果:

     8 关联控件

            只是一个示范,关联 horizontalSlider 控件可以实现动态效果

     

      9 main.cpp

    1. /******************************************************************************
    2. * Copyright CSDN 双子座断点 Co., Ltd.
    3. * Copyright www.dreambeging.vip Co., Ltd.
    4. * All right reserved. See COPYRIGHT for detailed Information.
    5. *
    6. * @file main.cpp
    7. * @project QDoubleSpinBox_test
    8. * @version V 1.0
    9. *
    10. * @author 断点
    11. * @date 2022/12/4
    12. * @history
    13. *****************************************************************************/
    14. #include "mainwindow.h"
    15. #include
    16. int main(int argc, char *argv[])
    17. {
    18. QApplication a(argc, argv);
    19. MainWindow w;
    20. w.show();
    21. return a.exec();
    22. }

    10 mainwindow.h

    1. /******************************************************************************
    2. * Copyright CSDN 双子座断点 Co., Ltd.
    3. * Copyright www.dreambeging.vip Co., Ltd.
    4. * All right reserved. See COPYRIGHT for detailed Information.
    5. *
    6. * @file main.cpp
    7. * @project QDoubleSpinBox_test
    8. * @version V 1.0
    9. *
    10. * @author 断点
    11. * @date 2022/12/4
    12. * @history
    13. *****************************************************************************/
    14. #ifndef MAINWINDOW_H
    15. #define MAINWINDOW_H
    16. #include
    17. #include
    18. #pragma execution_character_set("utf-8")
    19. QT_BEGIN_NAMESPACE
    20. namespace Ui { class MainWindow; }
    21. QT_END_NAMESPACE
    22. class MainWindow : public QMainWindow
    23. {
    24. Q_OBJECT
    25. public:
    26. MainWindow(QWidget *parent = nullptr);
    27. ~MainWindow();
    28. QString QSpinBox_Title;
    29. QString QSpinBox_Version;
    30. QString QSpinBox_BlogText;
    31. private slots:
    32. void on_pushButton_clicked();
    33. void on_pushButton_4_clicked();
    34. void on_pushButton_5_clicked();
    35. void on_pushButton_6_clicked();
    36. void on_pushButton_2_clicked();
    37. void on_pushButton_3_clicked();
    38. void slotDoubleSpinBox();
    39. private:
    40. Ui::MainWindow *ui;
    41. };
    42. #endif // MAINWINDOW_H

    11 mainwindow.cpp

    1. /******************************************************************************
    2. * Copyright CSDN 双子座断点 Co., Ltd.
    3. * Copyright www.dreambeging.vip Co., Ltd.
    4. * All right reserved. See COPYRIGHT for detailed Information.
    5. *
    6. * @file main.cpp
    7. * @project QDoubleSpinBox_test
    8. * @version V 1.0
    9. *
    10. * @author 断点
    11. * @date 2022/12/4
    12. * @history
    13. *****************************************************************************/
    14. #include "mainwindow.h"
    15. #include "ui_mainwindow.h"
    16. MainWindow::MainWindow(QWidget *parent)
    17. : QMainWindow(parent)
    18. , ui(new Ui::MainWindow)
    19. {
    20. ui->setupUi(this);
    21. QSpinBox_Title = "QDoubleSpinBox CSDN 双子座断点 ";
    22. QSpinBox_Version = "V 1.0 ";
    23. QSpinBox_BlogText = "https://blog.csdn.net/qq_37529913?type=lately/";
    24. setWindowTitle(QSpinBox_Title + QSpinBox_Version + QSpinBox_BlogText);
    25. //ui->doubleSpinBox->setKeyboardTracking(false);
    26. connect(ui->doubleSpinBox, SIGNAL(valueChanged(double)), this, SLOT(slotDoubleSpinBox()));
    27. }
    28. MainWindow::~MainWindow()
    29. {
    30. delete ui;
    31. }
    32. /* 槽函数 */
    33. void MainWindow::slotDoubleSpinBox()
    34. {
    35. //QMessageBox::information(this,"提示",QString::number(ui->doubleSpinBox->value()));
    36. }
    37. /* 获取数值 */
    38. void MainWindow::on_pushButton_clicked()
    39. {
    40. QMessageBox::information(this,"提示",QString::number(ui->doubleSpinBox->value()));
    41. }
    42. /* 设置最大值 */
    43. void MainWindow::on_pushButton_4_clicked()
    44. {
    45. ui->doubleSpinBox->setMaximum(ui->lineEdit_2->text().toDouble());
    46. }
    47. /* 设置最小值 */
    48. void MainWindow::on_pushButton_5_clicked()
    49. {
    50. ui->doubleSpinBox->setMinimum(ui->lineEdit_2->text().toDouble());
    51. }
    52. /* 设置显示精度 */
    53. void MainWindow::on_pushButton_6_clicked()
    54. {
    55. //获取
    56. //decimals()
    57. ui->doubleSpinBox->setDecimals(ui->lineEdit_3->text().toInt());
    58. }
    59. /* 设置前缀 */
    60. void MainWindow::on_pushButton_2_clicked()
    61. {
    62. //获取
    63. //prefix()
    64. ui->doubleSpinBox->setPrefix(ui->lineEdit->text());
    65. }
    66. /* 设置后缀 */
    67. void MainWindow::on_pushButton_3_clicked()
    68. {
    69. //获取
    70. //suffix()
    71. ui->doubleSpinBox->setSuffix(ui->lineEdit->text());
    72. }

    12 样式表

    QT 控件重绘_双子座断点的博客-CSDN博客_qt 重绘

    QT 样式表_双子座断点的博客-CSDN博客

    QT 样式表属性完整版_双子座断点的博客-CSDN博客

    Qt 系统字体_双子座断点的博客-CSDN博客

    13 其它文章 :

    QT TextEdit控件_双子座断点的博客-CSDN博客_qt textedit

    QT QComboBox使用详解_双子座断点的博客-CSDN博客

    QT QtableView操作详解_双子座断点的博客-CSDN博客_qtableview增删改查

    Qt QStandardItemModel(1.超级详细用法)_双子座断点的博客-CSDN博客_qstandardmodel

    Qt QStandardItemModel(2.超级详细函数)_双子座断点的博客-CSDN博客_qstandarditemmodel点击事件

    QT QRadioButton使用详解_双子座断点的博客-CSDN博客_qt radiobutton

    QT QLineEdit使用详解_双子座断点的博客-CSDN博客_qt qlineedit

    Qt QMessageBox使用详解_双子座断点的博客-CSDN博客_qt message

    QChart折线图、饼状图、条形图、曲线图_双子座断点的博客-CSDN博客_qchart样式

    QChart属性详解_双子座断点的博客-CSDN博客_setanimationoptions

    QCharts QValueAxis使用_双子座断点的博客-CSDN博客_qvalueaxis

    Qt 5 等待提示框(开源 动态图)_双子座断点的博客-CSDN博客_qt 等待对话框

    QtDataVisualization 数据3D可视化_双子座断点的博客-CSDN博客_qtdatavisualizatio

    QT QSpinBox 整数计数器控件 使用详解_双子座断点的博客-CSDN博客

  • 相关阅读:
    性能测试学习之一 ——性能测试指标
    Linux初识+环境部署
    IDEA创建动态web工程并配置Tomcat服务器
    基于springboot的教师科研信息管理系统(含ssm版本)
    Tomcat 启动闪退问题解决集(八大类详细)
    git修改commit历史提交时间、作者
    Elasticsearch索引恢复
    【juc】future并行执行并获取返回值
    工具及方法 - 在Source Insight中使用代码格式化工具
    【.NET基础】Linq常用语法代码演示
  • 原文地址:https://blog.csdn.net/qq_37529913/article/details/128147254