1.项目架构
1.图形化界面

2.widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QString>
#include <QStack>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_oneButton_clicked();
void on_twoButton_clicked();
void on_threeButton_clicked();
void on_fourButton_clicked();
void on_fiveButton_clicked();
void on_sixButton_clicked();
void on_sevenButton_clicked();
void on_eightButton_clicked();
void on_nineButton_clicked();
void on_leftButton_clicked();
void on_rightButton_clicked();
void on_addButton_clicked();
void on_reduceButton_clicked();
void on_mulButton_clicked();
void on_divButton_clicked();
void on_zeroButton_clicked();
void on_clearButton_clicked();
void on_backButton_clicked();
void on_equalButton_clicked();
int evaluateExpression(const QString &expr);
int applyOperator(double a, double b, QChar op);
private:
Ui::Widget *ui;
QString expression;
};
#endif // WIDGET_H
3.main.cpp
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
3.widget.cpp
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
this->setMaximumSize(210,295);
this->setMinimumSize(210,295);
this->setWindowTitle("计算器");
QFont f("仿宋",14);//字体对象
ui->mainLineEdit->setFont(f);
//按钮上放图片
QIcon con("/data/wzh/QT/Qt_1/calculate/Back.png");
ui->backButton->setIcon(con);
//改变按钮背景色
ui->equalButton->setStyleSheet("background:green");
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_oneButton_clicked()
{
expression += "1";
ui->mainLineEdit->setText(expression);
}
void Widget::on_twoButton_clicked()
{
expression += "2";
ui->mainLineEdit->setText(expression);
}
void Widget::on_threeButton_clicked()
{
expression += "3";
ui->mainLineEdit->setText(expression);
}
void Widget::on_fourButton_clicked()
{
expression += "4";
ui->mainLineEdit->setText(expression);
}
void Widget::on_fiveButton_clicked()
{
expression += "5";
ui->mainLineEdit->setText(expression);
}
void Widget::on_sixButton_clicked()
{
expression += "6";
ui->mainLineEdit->setText(expression

最低0.47元/天 解锁文章
732

被折叠的 条评论
为什么被折叠?



