1.新建一个Qt项目
2.Widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QLineEdit>
#include <QPushButton>
#include <QLabel>
#include <QComboBox>
#include <QDebug>
#pragma execution_character_set("utf-8") //支持中文
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private:
QLineEdit *qle1;
QLineEdit *qle2;
QLineEdit *qle3;
QPushButton *Btn;
QComboBox *cBox;
QLabel *label1;
QLabel *label2;
QLabel *label3;
QLabel *label4;
void CreateWidget();
private slots:
void on_clicked();
};
#endif // WIDGET_H
Widget.cpp
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
CreateWidget();
connect(this->Btn,SIGNAL(clicked()),this,SLOT(on_clicked()));
}
Widget::~Widget()
{
}
void Widget::CreateWidget(){
this->setFixedSize(550,300);//设置窗口的大小
this->setWindowTitle("四则运算");//设置窗口标题
qle1 = new QLineEdit(this);
qle1->setGeometry(220,20,150,40);
qle2 = new QLineEdit(this);
qle2->setGeometry(220,120,150,40);
qle3 = new QLineEdit(this);
qle3->setGeometry(220,220,150,40);
//qle3->setEnabled(false);
qle3->setReadOnly(true);
Btn = new QPushButton(this);
Btn->setGeometry(400,120,100,50);
Btn->setText("计算");
label1 = new QLabel(this);
label1->setGeometry(120,20,100,40);
label1->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
label1->setText("输入值1:");
label2 = new QLabel(this);
label2->setGeometry(120,120,100,40);
label2->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
label2->setText("输入值2:");
label3 = new QLabel(this);
label3->setGeometry(120,220,100,40);
label3->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
label3->setText("输出值:");
label4 = new QLabel(this);
label4->setGeometry(240,170,100,40);
label4->setAlignment(Qt::AlignCenter);
label4->setText("等于");
cBox = new QComboBox(this);
cBox->setGeometry(260,70,50,40);
QStringList strList;
strList<<"加"<<"减"<<"乘"<<"除";
cBox->addItems(strList);
}
void Widget::on_clicked(){
//int a = qle1->text().toInt();
double a = qle1->text().toDouble();
double b = qle2->text().toDouble();
double c;
int curIndex = cBox->currentIndex();
switch(curIndex)
{
case 0 :
c = a+b;
break;
case 1 :
c = a-b;
break;
case 2 :
c = a*b;
break;
case 3 :
c = a/b;
break;
}
QString s = QString::number(c);
qle3->setText(s);
qDebug() << s;
}
3.运行结果