急求QT初学者简易计算器代码求助完善大学生哭了??

widge.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QPushButton>
#include <QLabel>
#include <QGridLayout>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QLineEdit>
#include <QString>
class Widget : public QWidget
{
    Q_OBJECT
public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    int op;//运算符号
    double accumulator;//累加器
    double sign;

    QLabel* status;
    QLabel* inputText;
    bool inputResult;

    QPushButton* buttonCE;
    QPushButton* buttonC;
    QPushButton* buttonDel;

    QPushButton* digit_0;
    QPushButton* digit_1;
    QPushButton* digit_2;
    QPushButton* digit_3;
    QPushButton* digit_4;
    QPushButton* digit_5;
    QPushButton* digit_6;
    QPushButton* digit_7;
    QPushButton* digit_8;
    QPushButton* digit_9;

    QPushButton* buttonSign;
    QPushButton* buttonDot;

    QPushButton* buttonDivide;
    QPushButton* buttonMultiply;
    QPushButton *buttonMinus;
    QPushButton *buttonPlus;
    QPushButton *buttonEqual;

    QGridLayout *buttonLayout;
    QVBoxLayout *layout;

    void digitPressed(QString x);
    void processOp();

private slots:
    void buttonCEPressed();
    void buttonCPressed();
    void buttonDelPressed();

    void digit_0_Pressed();
    void digit_1_Pressed();
    void digit_2_Pressed();
    void digit_3_Pressed();
    void digit_4_Pressed();
    void digit_5_Pressed();
    void digit_6_Pressed();
    void digit_7_Pressed();
    void digit_8_Pressed();
    void digit_9_Pressed();

    void buttonDividePressed();
    void buttonMultiplyPressed();
    void buttonMinusPressed();
    void buttonPlusPressed();
    void buttonEqualPressed();

};
#endif // WIDGET_H

widget.cpp

#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{

    accumulator=0;
    sign=1;

    status=new QLabel;
    status->setAlignment(Qt::AlignRight);

    inputResult=true;

    inputText=new QLabel(QObject::tr("0"));
    inputText->setAlignment(Qt::AlignRight);

    buttonCE=new QPushButton(QObject::tr("CE"));
    buttonC=new QPushButton(QObject::tr("C"));
    buttonDel=new QPushButton(QObject::tr("Del"));

    digit_0=new QPushButton(QObject::tr("0"));
    digit_1=new QPushButton(QObject::tr("1"));
    digit_2=new QPushButton(QObject::tr("2"));
    digit_3=new QPushButton(QObject::tr("3"));
    digit_4=new QPushButton(QObject::tr("4"));
    digit_5=new QPushButton(QObject::tr("5"));
    digit_6=new QPushButton(QObject::tr("6"));
    digit_7=new QPushButton(QObject::tr("7"));
    digit_8=new QPushButton(QObject::tr("8"));
    digit_9=new QPushButton(QObject::tr("9"));

    buttonSign=new QPushButton(QObject::tr("±"));
    buttonDot=new QPushButton(QObject::tr("."));

    buttonDivide=new QPushButton(QObject::tr("÷"));
    buttonMultiply=new QPushButton(QObject::tr("×"));
    buttonMinus=new QPushButton(QObject::tr("-"));
    buttonPlus=new QPushButton(QObject::tr("+"));
    buttonEqual=new QPushButton(QObject::tr("="));

    buttonLayout=new QGridLayout;

    buttonLayout->addWidget(buttonCE,0,0);
    buttonLayout->addWidget(buttonC,0,1);
    buttonLayout->addWidget(buttonDel,0,2);
    buttonLayout->addWidget(buttonDivide,0,3);

    buttonLayout->addWidget(digit_7,1,0);
    buttonLayout->addWidget(digit_8,1,1);
    buttonLayout->addWidget(digit_9,1,2);
    buttonLayout->addWidget(buttonMultiply,1,3);

    buttonLayout->addWidget(digit_4,2,0);
    buttonLayout->addWidget(digit_5,2,1);
    buttonLayout->addWidget(digit_6,2,2);
    buttonLayout->addWidget(buttonMinus,2,3);

    buttonLayout->addWidget(digit_1,3,0);
    buttonLayout->addWidget(digit_2,3,1);
    buttonLayout->addWidget(digit_3,3,2);
    buttonLayout->addWidget(buttonPlus,3,3);

    buttonLayout->addWidget(buttonSign,4,0);
    buttonLayout->addWidget(digit_0,4,1);
    buttonLayout->addWidget(buttonDot,4,2);
    buttonLayout->addWidget(buttonEqual,4,3);

    layout=new QVBoxLayout;
    layout->addWidget(inputText);
    layout->addWidget(status);
    layout->addLayout(buttonLayout);

    setLayout(layout);

    connect(buttonCE,SIGNAL(clicked(bool)),this,SLOT(buttonCEPressed()));
    connect(buttonC,SIGNAL(clicked(bool)),this,SLOT(buttonCPressed()));
    connect(buttonDel,SIGNAL(clicked(bool)),this,SLOT(buttonDelPressed()));

    connect(digit_0,SIGNAL(clicked(bool)),this,SLOT(digit_0_Pressed()));
    connect(digit_1,SIGNAL(clicked(bool)),this,SLOT(digit_1_Pressed()));
    connect(digit_2,SIGNAL(clicked(bool)),this,SLOT(digit_2_Pressed()));
    connect(digit_3,SIGNAL(clicked(bool)),this,SLOT(digit_3_Pressed()));
    connect(digit_4,SIGNAL(clicked(bool)),this,SLOT(digit_4_Pressed()));
    connect(digit_5,SIGNAL(clicked(bool)),this,SLOT(digit_5_Pressed()));
    connect(digit_6,SIGNAL(clicked(bool)),this,SLOT(digit_6_Pressed()));
    connect(digit_7,SIGNAL(clicked(bool)),this,SLOT(digit_7_Pressed()));
    connect(digit_8,SIGNAL(clicked(bool)),this,SLOT(digit_8_Pressed()));
    connect(digit_9,SIGNAL(clicked(bool)),this,SLOT(digit_9_Pressed()));

    connect(buttonSign,SIGNAL(clicked(bool)),this,SLOT(buttonSignPressed()));
    connect(buttonDot,SIGNAL(clicked(bool)),this,SLOT(buttonDotPressed()));

    connect(buttonDivide,SIGNAL(clicked(bool)),this,SLOT(buttonDividePressed()));
    connect(buttonMultiply,SIGNAL(clicked(bool)),this,SLOT(buttonMultiplyPressed()));
    connect(buttonMinus,SIGNAL(clicked(bool)),this,SLOT(buttonMinusPressed()));
    connect(buttonPlus,SIGNAL(clicked(bool)),this,SLOT(buttonPlusPressed()));
    connect(buttonEqual,SIGNAL(clicked(bool)),this,SLOT(buttonEqualPressed()));
}

Widget::~Widget()
{

    delete buttonCE;
    delete buttonC;
    delete buttonDel;

    delete digit_0;
    delete digit_1;
    delete digit_2;
    delete digit_3;
    delete digit_4;
    delete digit_5;
    delete digit_6;
    delete digit_7;
    delete digit_8;
    delete digit_9;

    delete buttonDivide;
    delete buttonMultiply;
    delete buttonMinus;
    delete buttonPlus;
    delete buttonEqual;
}

void Widget::buttonCEPressed()
{
    sign=1;
    inputText->setText(QObject::tr("0"));
}
void Widget::digit_0_Pressed()
{
    digitPressed(QObject::tr("0"));
}

void Widget::digit_1_Pressed()
{
    digitPressed(QObject::tr("1"));
}

void Widget::digit_2_Pressed()
{
    digitPressed(QObject::tr("2"));
}

void Widget::digit_3_Pressed()
{
    digitPressed(QObject::tr("3"));
}

void Widget::digit_4_Pressed()
{
    digitPressed(QObject::tr("4"));
}

void Widget::digit_5_Pressed()
{
    digitPressed(QObject::tr("5"));
}

void Widget::digit_6_Pressed()
{
    digitPressed(QObject::tr("6"));
}

void Widget::digit_7_Pressed()
{
    digitPressed(QObject::tr("7"));
}

void Widget::digit_8_Pressed()
{
    digitPressed(QObject::tr("8"));
}

void Widget::digit_9_Pressed()
{
    digitPressed(QObject::tr("9"));
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^