其他的代码可以呢
时间: 2024-02-14 16:03:13 浏览: 21
当然可以,下面是一个完整的加减乘除计算器的代码示例,你可以参考它来实现你自己的计算器。
```cpp
#include "calculator.h"
#include "ui_calculator.h"
Calculator::Calculator(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Calculator)
{
ui->setupUi(this);
// 连接按钮的信号和槽函数
connect(ui->pushButton_addition, SIGNAL(clicked()), this, SLOT(additionClicked()));
connect(ui->pushButton_subtraction, SIGNAL(clicked()), this, SLOT(subtractionClicked()));
connect(ui->pushButton_multiplication, SIGNAL(clicked()), this, SLOT(multiplicationClicked()));
connect(ui->pushButton_division, SIGNAL(clicked()), this, SLOT(divisionClicked()));
}
Calculator::~Calculator()
{
delete ui;
}
void Calculator::additionClicked()
{
// 获取文本框中的数字
double num1 = ui->lineEdit_num1->text().toDouble();
double num2 = ui->lineEdit_num2->text().toDouble();
// 计算结果
double result = num1 + num2;
// 将结果显示在文本框中
ui->lineEdit_result->setText(QString::number(result));
}
void Calculator::subtractionClicked()
{
// 获取文本框中的数字
double num1 = ui->lineEdit_num1->text().toDouble();
double num2 = ui->lineEdit_num2->text().toDouble();
// 计算结果
double result = num1 - num2;
// 将结果显示在文本框中
ui->lineEdit_result->setText(QString::number(result));
}
void Calculator::multiplicationClicked()
{
// 获取文本框中的数字
double num1 = ui->lineEdit_num1->text().toDouble();
double num2 = ui->lineEdit_num2->text().toDouble();
// 计算结果
double result = num1 * num2;
// 将结果显示在文本框中
ui->lineEdit_result->setText(QString::number(result));
}
void Calculator::divisionClicked()
{
// 获取文本框中的数字
double num1 = ui->lineEdit_num1->text().toDouble();
double num2 = ui->lineEdit_num2->text().toDouble();
// 检查除数是否为0
if(num2 == 0)
{
ui->lineEdit_result->setText("Error: Division by zero");
return;
}
// 计算结果
double result = num1 / num2;
// 将结果显示在文本框中
ui->lineEdit_result->setText(QString::number(result));
}
```
在这个示例中,我们使用Qt的信号和槽机制来连接按钮的点击事件和对应的计算函数。当用户点击一个按钮时,程序会自动调用相应的槽函数来进行计算,并将结果显示在文本框中。
在MainWindow类中,我们还需要添加一些控件,例如QPushButton和QLineEdit,来实现用户界面。你可以在Qt Designer中进行界面设计,然后将界面文件与代码文件进行连接。
希望这个示例对你有所帮助!
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)