void MainWindowComplex::on_ans_clicked() //输出结果 { QString display; Complex cans(0,0); double numreal=tempreal.toDouble(); //按空格之前 先将数字保存好 double numvirtual=tempvirtual.toDouble(); Complex * pt= new Complex(numreal,numvirtual); if(sign=='*') { cans=tempc.Multi(*pt); display=Complex::ComplexToString(cans); tempc=cans; } if(sign=='%') {cans=tempc.Div(*pt);display=Complex::ComplexToString(cans);tempc=cans;} if (sign=='^') //即单纯的加减运算 { cans=tempc.Add(*pt); ui->answer->setText(tempreal); display=Complex::ComplexToString(cans); tempc=cans; //更新当前结果 } //将结果转换成字符串 ui->answer->setText(display); //显示一个字符串 tempreal=""; tempvirtual=""; sign='^'; //将sign 清空(即默认加减运算) }