最近正在学习qt,作为新手一枚,在学习过程中会遇到很多问题,所以就打算在博客下记录自己的学习过程,希望能与大家一起交流,更好的解决遇到的问题,同时也希望为以后想要在vs平台下学习qt的朋友提供一点点帮助。
首先安装好vs2013以及qt5.6,安装与配置可以网上搜索教程,在这里就不多说了。
新建工程:在ui界面上放置一个pushButton,三个lineEdit,一个comboBox
编辑Qt_Calculator.h文件:
#pragma once
#include <QtWidgets/QWidget>
#include "ui_Qt_Calculator.h"
#include "QComboBox"
#include <QMessageBox>
class Qt_Calculator : public QWidget
{
Q_OBJECT
public:
Qt_Calculator(QWidget *parent = Q_NULLPTR);
private:
Ui::Qt_CalculatorClass ui;
private slots:
void calculatorSlot();//申明信号槽函数
};
编辑Qt_Calculator.cpp文件:
进行信号槽连接:
#include "Qt_Calculator.h"
Qt_Calculator::Qt_Calculator(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
connect(ui.calcuButton,SIGNAL(clicked()),this,SLOT(calculatorSlot()));
}
槽函数的定义:
void Qt_Calculator::calculatorSlot()
{
//定义两个输入参数
double firstInput = ui.firstlineEdit->text().toDouble();
double secondInput = ui.secondlineEdit->text().toDouble();
double result ;
//进行加法运算
if (ui.comboBox->currentIndex() == 0)
{
result = firstInput + secondInput;
ui.resultlineEdit->setText(QString::number(result,'g',2));
}
//减法运算
if (ui.comboBox->currentIndex() == 1)
{
result = firstInput - secondInput;
ui.resultlineEdit->setText(QString::number(result, 'g', 2));
}
//乘法运算
if (ui.comboBox->currentIndex() == 2)
{
result = firstInput * secondInput;
ui.resultlineEdit->setText(QString::number(result, 'g', 2));
}
//除法运算
if(ui.comboBox->currentIndex() == 3)
{
if (secondInput == 0)
{
//如果除数为0,弹出警告
QMessageBox::warning(this,"Result","The SecondInput Cannot be Zero! ");
return;
}
result = firstInput / secondInput;
ui.resultlineEdit->setText(QString::number(result, 'g', 2));
}
ui.resultlineEdit->setText(QString::number(result, 'g', 2));
}
运行结果:
这个程序到此就结束了,并且能够成功运行。