界面:
头文件:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include<QMessageBox>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
private slots:
void calSlot();
};
#endif // MAINWINDOW_H
源文件:
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QObject::connect(ui->calButton,SIGNAL(clicked(bool)),this,SLOT(calSlot()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::calSlot()
{
int first=ui->firstLineEdit->text().toInt();
int second=ui->secondLineEdit->text().toInt();
int index=ui->comboBox->currentIndex();
int result=0;
switch(index)
{
case 0:
result=first+second;
break;
case 1:
result=first-second;
break;
case 2:
result=first*second;
break;
case 3:
if(second==0)
{
QMessageBox::warning(this,"警告","除数不能为0");
ui->secondLineEdit->clear();
ui->resultLineEdit->clear();
return;
}
result=first/second;
break;
default:
break;
}
ui->resultLineEdit->setText(QString::number(result));
QMessageBox::information(this,"计算结果:",QString::number(result));
}