「已注销」 2021-08-10 13:12 采纳率: 71.4%
浏览 8
已结题

运行之后 怎样可以取消LCD哪里的运算过程 点击第二个数的时候 不要前面的 第一个数

运行之后 怎样可以取消LCD哪里的运算过程 点击第二个数的时候 不要前面的 第一个数
运行之后 怎样可以取消LCD哪里的运算过程 点击第二个数的时候 不要前面的 第一个数

  • 写回答

1条回答 默认 最新

  • 「已注销」 2021-08-10 13:13
    关注

    #include "widget.h"
    #include "ui_widget.h"
    #include
    #include

    Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
    {
    ui->setupUi(this);
    this->num1=0;
    this->num2=0;
    }

    Widget::~Widget()
    {
    delete ui;
    }

    void Widget::setNum1(int num)
    {
    num1=num;
    }
    void Widget::setNum2(int num)
    {
    num2=num;
    }

    void Widget::on_btnc_clicked()
    {
    this->str1.clear();
    this->ui->lcdNumber->display(0);
    this->ui->label->clear();

    }

    void Widget::on_btn1_clicked()
    {
    QString str = "1";
    str1.append(str);

       ui->lcdNumber->display(str1);
       ui->label->setText(str1);
    

    }

    void Widget::on_btn2_clicked()
    {
    QString str = "2";
    str1.append(str);
    ui->lcdNumber->display(str1);
    ui->label->setText(str1);
    }

    void Widget:: on_btn3_clicked()
    {
    QString str = "3";
    str1.append(str);
    ui->lcdNumber->display(str1);

    ui->label->setText(str1);
    

    }

    void Widget::on_btn4_clicked()
    {
    QString str = "4";
    str1.append(str);
    ui->lcdNumber->display(str1);
    ui->label->setText(str1);
    }

    void Widget::on_btn5_clicked()
    {
    QString str = "5";
    str1.append(str);
    ui->lcdNumber->display(str1);
    ui->label->setText(str1);
    }

    void Widget::on_btn6_clicked()
    {
    QString str = "6";
    str1.append(str);
    ui->lcdNumber->display(str1);
    ui->label->setText(str1);
    }

    void Widget::on_btn7_clicked()
    {
    QString str = "7";
    str1.append(str);
    ui->lcdNumber->display(str1);
    ui->label->setText(str1);
    }

    void Widget::on_btn8_clicked()
    {
    QString str = "8";
    str1.append(str);
    ui->lcdNumber->display(str1);
    ui->label->setText(str1);
    }

    void Widget::on_btn9_clicked()
    {
    QString str = "9";
    str1.append(str);
    ui->lcdNumber->display(str1);
    ui->label->setText(str1);
    }

    void Widget::on_btn0_clicked()
    {
    QString str = "0";
    str1.append(str);
    ui->lcdNumber->display(str1);
    ui->label->setText(str1);
    }

    void Widget::on_btnp_clicked()
    {
    QString str = ".";
    str1.append(str);
    ui->lcdNumber->display(str1);
    ui->label->setText(str1);
    }

    void Widget::on_btnadd_clicked()
    {
    oper = '+';
    QString str = " + ";
    str1.append(str);
    ui->label->setText(str1);

    }

    void Widget::on_btnsub_clicked()
    {
    oper = '-';
    QString str = " - ";
    str1.append(str);
    ui->label->setText(str1);
    }

    void Widget::on_btnplus_clicked()
    {
    oper = '*';
    QString str = " * ";
    str1.append(str);
    ui->label->setText(str1);
    }

    void Widget::on_btndiv_clicked()
    {

    oper = '/';
    QString str = " / ";
    str1.append(str);
    

    ui->label->setText(str1);
    // oper = '/';
    // ui->label->setText(flag);

    // QString str = " / ";
    // str1.append(str);
    // ui->label->setText(str1);
    // bool ok;
    // int num =this->str1.toInt(&ok);
    //this->setNum1(arry[0]);
    // this->str1="";
    //QString ex=ui->btndiv->setText(str);
    // QString qoper=this->ui->btndiv->setText(flag);
    // this->setNum1(arry[0]);
    //this->setFlag(ex);

    ui->label->setText(str1);

    }

    void Widget::on_btnback_clicked()
    {

    this->ui->label->clear();
    str1=str1.left(str1.length()-1);

    this->ui->lcdNumber->display(str1);
    }

    void Widget::on_btnequ_clicked()
    {

    QStringList Str_List  = str1.split(" ");
    Str_List[0] = Str_List[0].simplified();
    arry[0] = Str_List[0].toDouble();
    this->setNum2(arry[2]);
    

    // arry[0]=num1;

    Str_List[2] = Str_List[2].simplified();
    arry[2] = Str_List[2].toDouble();
    

    // arry[2]=num2;

    // bool ok;
    // int num =this->str1.toInt(&ok);
    // this->setNum2(num);
    // QString res=this->doExpr();
    // this->ui->lcdNumber->display(res);
    // this->str1="";

    switch(oper)
       {
           case '+':
               result = arry[0] + arry[2];
           break;
    
           case '-':
               result = arry[0] - arry[2];
           break;
    
           case '*':
               result = arry[0] * arry[2];
           break;
    
           case '/':
               if (0 != arry[2])
                   result = arry[0] / arry[2];
               else
                   result =0;
                   qDebug()<<"error";
           break;
    
       default:
           break;
       }
    
    
    
     ui->lcdNumber->display(QString::number (result));
    

    // ui->label->setText(QString::number (result));
    }

    void Widget::on_pushButton_2_clicked()
    {
    this->str1.clear();
    this->ui->lcdNumber->display(0);
    this->ui->label->clear();
    }

    // ui->lcdNumber->display(QString::number (result));
    // ui->label->setText(QString::number (result));

    评论

报告相同问题?

问题事件

  • 系统已结题 8月18日
  • 创建了问题 8月10日

悬赏问题

  • ¥60 pb数据库修改或者求完整pb库存系统,需为pb自带数据库
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路