用qt做一个简单计算器使用C++
时间: 2024-02-02 13:03:02 浏览: 115
好的,以下是一个使用Qt和C++实现的简单计算器:
1. 创建一个新的Qt Widgets应用程序项目。
2. 打开`mainwindow.ui`并从工具箱中拖动并放置`QLineEdit`和`QPushButton`部件。
3. 将`QLineEdit`的名称设置为`lineEdit`,并使用属性编辑器将它的只读属性设置为`true`。
4. 将`QPushButton`的文本设置为`Calculate`,并将其名称设置为`calculateButton`。
5. 在`mainwindow.h`头文件中添加以下代码:
```cpp
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_calculateButton_clicked();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
```
6. 在`mainwindow.cpp`源文件中实现构造函数和析构函数:
```cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
```
7. 在`mainwindow.cpp`源文件中实现`on_calculateButton_clicked()`槽函数:
```cpp
void MainWindow::on_calculateButton_clicked()
{
QString text = ui->lineEdit->text();
QStringList list = text.split(" ");
if(list.size() == 3) {
double num1 = list.at(0).toDouble();
double num2 = list.at(2).toDouble();
QString op = list.at(1);
double result = 0.0;
if(op == "+") {
result = num1 + num2;
} else if(op == "-") {
result = num1 - num2;
} else if(op == "*") {
result = num1 * num2;
} else if(op == "/") {
if(num2 == 0.0) {
ui->lineEdit->setText("Error: Division by zero");
return;
} else {
result = num1 / num2;
}
} else {
ui->lineEdit->setText("Error: Invalid operator");
return;
}
ui->lineEdit->setText(QString::number(result));
} else {
ui->lineEdit->setText("Error: Invalid input");
return;
}
}
```
该函数从`lineEdit`中获取用户输入的文本,将其分割为数字和运算符,并计算结果。最后,将结果显示在`lineEdit`中。
8. 运行程序并测试计算器。
希望这可以帮助到你!
阅读全文