2017.3.15 QT学习之计算器

#include "mainwindow.h"//mainwindow.h 里面要包含QMwssage
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QObject::connect(ui->calButton,SIGNAL(clicked()),this,SLOT(calSlot()));//槽绑定
}

MainWindow::~MainWindow()
{
    delete ui;
}
void MainWindow::calSlot()
{
     int first=ui->firstLineEdit->text().toInt();//首先从UI的编辑框内取出内容,然后转成int
     int second=ui->secondLineEdit->text().toInt();
     int result;
    if(ui->comboBox->currentIndex()==0)//这里通过比较数组下标来确定执行哪种运算
    {

         result=first+second;//进行运算
         ui->resultLineEdit->setText(QString::number(result));//再转成String类型以便显示
         QMessageBox::information(this,"Result",QString::number(result));//以弹窗的形式输出结果
    }
    if(ui->comboBox->currentIndex()==1)
    {

        int result=first-second;
         ui->resultLineEdit->setText(QString::number(result));
         QMessageBox::information(this,"Result",QString::number(result));
    }
    if(ui->comboBox->currentIndex()==2)
    {

        int result=first*second;
         ui->resultLineEdit->setText(QString::number(result));
         QMessageBox::information(this,"Result",QString::number(result));
    }
    if(ui->comboBox->currentIndex()==3)
    {


        if(second == 0)
        {
     QMessageBox::warning(this,"Error Message","The Number can`t be Zero");//特别说明除数不能为0
            return;
        }
         int result=first / second;
         ui->resultLineEdit->setText(QString::number(result));
         QMessageBox::information(this,"Result",QString::number(result));
    }
}

 这里是ui界面的效果

posted @ 2017-03-15 16:35  小邓工坊  阅读(263)  评论(0编辑  收藏  举报