• 用QT实现一个简单的计算机


    1. 打开QT Creator并创建一个新的QT Widgets应用程序。

    2. 设计模式中,将所需的按钮和文本框添加到主窗口界面上。

    3. 为每个按钮创建对应的点击事件处理函数,以及一个用于处理运算的函数。

    cpp

    1. #include "mainwindow.h"
    2. #include "ui_mainwindow.h"
    3. MainWindow::MainWindow(QWidget *parent) :
    4. QMainWindow(parent),
    5. ui(new Ui::MainWindow)
    6. {
    7. ui->setupUi(this);
    8. // 连接数字按钮的点击事件
    9. connect(ui->button0, SIGNAL(clicked()), this, SLOT(digitClicked()));
    10. connect(ui->button1, SIGNAL(clicked()), this, SLOT(digitClicked()));
    11. connect(ui->button2, SIGNAL(clicked()), this, SLOT(digitClicked()));
    12. // ...
    13. // 连接运算符按钮的点击事件
    14. connect(ui->buttonPlus, SIGNAL(clicked()), this, SLOT(operatorClicked()));
    15. connect(ui->buttonMinus, SIGNAL(clicked()), this, SLOT(operatorClicked()));
    16. connect(ui->buttonMultiply, SIGNAL(clicked()), this, SLOT(operatorClicked()));
    17. connect(ui->buttonDivide, SIGNAL(clicked()), this, SLOT(operatorClicked()));
    18. // 连接等号按钮的点击事件
    19. connect(ui->buttonEquals, SIGNAL(clicked()), this, SLOT(equalsClicked()));
    20. }
    21. MainWindow::~MainWindow()
    22. {
    23. delete ui;
    24. }
    25. // 数字按钮点击事件处理函数
    26. void MainWindow::digitClicked()
    27. {
    28. QPushButton* button = dynamic_cast(sender());
    29. if (button != nullptr) {
    30. QString buttonText = button->text();
    31. ui->lineEdit->insert(buttonText);
    32. }
    33. }
    34. // 运算符按钮点击事件处理函数
    35. void MainWindow::operatorClicked()
    36. {
    37. QPushButton* button = dynamic_cast(sender());
    38. if (button != nullptr) {
    39. QString buttonText = button->text();
    40. ui->lineEdit->insert(" " + buttonText + " ");
    41. }
    42. }
    43. // 等号按钮点击事件处理函数
    44. void MainWindow::equalsClicked()
    45. {
    46. QString expression = ui->lineEdit->text();
    47. // 解析表达式,执行运算
    48. // 显示结果
    49. ui->lineEdit->setText(result);
    50. }

    在代码中,我们使用了connect()函数将每个按钮的点击事件连接到对应的槽函数。在数字按钮点击事件处理函数中,我们获取按钮的文本并插入到输入框中。在运算符按钮点击事件处理函数中,我们在输入框中插入相应的运算符。在等号按钮点击事件处理函数中,我们获取输入框中的表达式,解析表达式并执行相应的运算,最后将结果显示在输入框中。

    请注意,这里需要根据需要在equalsClicked()函数中添加代码来实现解析表达式和执行运算的逻辑。

    1. 在mainwindow.h文件中定义类成员变量和函数。

    cpp

    1. #ifndef MAINWINDOW_H
    2. #define MAINWINDOW_H
    3. #include
    4. namespace Ui {
    5. class MainWindow;
    6. }
    7. class MainWindow : public QMainWindow
    8. {
    9. Q_OBJECT
    10. public:
    11. explicit MainWindow(QWidget *parent = nullptr);
    12. ~MainWindow();
    13. private slots:
    14. void digitClicked();
    15. void operatorClicked();
    16. void equalsClicked();
    17. private:
    18. Ui::MainWindow *ui;
    19. };
    20. #endif // MAINWINDOW_H
    1. 运行程序,测试计算器是否正常工作。

    通过按照以上步骤,您可以使用C++和QT实现一个基本的计算器。用户可以点击数字按钮输入数字,点击运算符按钮输入运算符,并点击等号按钮执行运算并显示结果。您可以根据需要扩展代码,实现更多功能,如括号、小数点、清除按钮等。

  • 相关阅读:
    ASO优化之应用评分评论对APP下载量增长的重要性
    1.2 C++编译器对指针的解释方式(深度理解c++指针)
    Python 实现单例模式的五种写法!
    前端面试题目(二十三)
    第六章 继承
    ES7新特性深度解析:提升JavaScript开发效率的利器
    鸿鹄工程项目管理系统em Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统
    Mac新建文件夹报错,mkdir():Operation not supported
    Ubuntu22.04.01Desktop桌面版的 /etc/ssh/sshd_config 笔记221110
    C++ Reference: Standard C++ Library reference: C Library: cwchar
  • 原文地址:https://blog.csdn.net/qrsxiaojie/article/details/132698575