반응형
코드
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void on_pushButton_1_clicked();
void on_pushButton_3_clicked();
void on_pushButton_7_clicked();
void on_pushButton_2_clicked();
void on_pushButton_4_clicked();
void on_pushButton_5_clicked();
void on_pushButton_6_clicked();
void on_pushButton_8_clicked();
void on_pushButton_9_clicked();
void on_pushButton_0_clicked();
void on_pushButton_plus_clicked();
void on_pushButton_minors_clicked();
void on_pushButton_mul_clicked();
void on_pushButton_div_clicked();
void on_pushButton_clear_clicked();
void on_pushButton_exit_clicked();
void on_pushButton_equal_clicked();
private:
Ui::MainWindow *ui;
void setNumer(QString num); // 일반함수
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_1_clicked()
{
setNumer("1");
}
void MainWindow::on_pushButton_2_clicked()
{
setNumer("2");
}
void MainWindow::on_pushButton_3_clicked()
{
setNumer("3");
}
void MainWindow::on_pushButton_4_clicked()
{
setNumer("4");
}
void MainWindow::on_pushButton_5_clicked()
{
setNumer("5");
}
void MainWindow::on_pushButton_6_clicked()
{
setNumer("6");
}
void MainWindow::on_pushButton_7_clicked()
{
setNumer("7");
}
void MainWindow::on_pushButton_8_clicked()
{
setNumer("8");
}
void MainWindow::on_pushButton_9_clicked()
{
setNumer("9");
}
void MainWindow::on_pushButton_0_clicked()
{
setNumer("0");
}
void MainWindow::on_pushButton_plus_clicked()
{
ui -> lineEdit_2 -> setText("+");
}
void MainWindow::on_pushButton_minors_clicked()
{
ui -> lineEdit_2 -> setText("-");
}
void MainWindow::on_pushButton_mul_clicked()
{
ui -> lineEdit_2 -> setText("*");
}
void MainWindow::on_pushButton_div_clicked()
{
ui -> lineEdit_2 -> setText("/");
}
void MainWindow::on_pushButton_equal_clicked()
{
if (ui -> lineEdit_2 -> text() == "+")
ui -> lineEdit_4 -> setText(QString::number(ui->lineEdit_1->text().toInt(NULL, 10) + ui->lineEdit_3->text().toInt(NULL, 10)));
else if (ui -> lineEdit_2 -> text() == "-")
ui -> lineEdit_4 -> setText(QString::number(ui->lineEdit_1->text().toInt(NULL, 10) - ui->lineEdit_3->text().toInt(NULL, 10)));
else if (ui -> lineEdit_2 -> text() == "*")
ui -> lineEdit_4 -> setText(QString::number(ui->lineEdit_1->text().toInt(NULL, 10) * ui->lineEdit_3->text().toInt(NULL, 10)));
else if (ui -> lineEdit_2 -> text() == "/")
ui -> lineEdit_4 -> setText(QString::number(ui->lineEdit_1->text().toInt(NULL, 10) / ui->lineEdit_3->text().toInt(NULL, 10)));
}
void MainWindow::on_pushButton_clear_clicked()
{
ui -> lineEdit_1 -> setText("");
ui -> lineEdit_2 -> setText("");
ui -> lineEdit_3 -> setText("");
ui -> lineEdit_4 -> setText("");
}
void MainWindow::on_pushButton_exit_clicked()
{
this -> close();
}
void MainWindow::setNumer(QString num)
{
if (QString::compare(ui -> lineEdit_2 -> text(), "") == 0) // 라인에디트3을 읽어서 비교 ""라면 0을 return
{
ui -> lineEdit_1 -> setText((ui ->lineEdit_1) -> text() + num);
}
else
{
ui -> lineEdit_3 -> setText((ui ->lineEdit_3) -> text() + num);
}
}
동작영상
반응형