自创计算机(可供毕设参考)

自创计算机(可供毕设参考)

1.实现功能0-9的加减乘除

//Widget.h 创2个变量
 QString a;
 QStringList b;
 //0-9实现如下
 void Widget::on_pushButton_2_clicked()
{
    a+="1";
    ui->lineEdit->setText(a);
}


void Widget::on_pushButton_3_clicked()
{
    a+="2";
    ui->lineEdit->setText(a);
}


void Widget::on_pushButton_5_clicked()
{
    a+="3";
    ui->lineEdit->setText(a);
}


void Widget::on_pushButton_4_clicked()
{
    a+="4";
    ui->lineEdit->setText(a);
}


void Widget::on_pushButton_6_clicked()
{
    a+="5";
    ui->lineEdit->setText(a);
}


void Widget::on_pushButton_7_clicked()
{
    a+="6";
    ui->lineEdit->setText(a);
}


void Widget::on_pushButton_10_clicked()
{
    a+="7";
    ui->lineEdit->setText(a);
}


void Widget::on_pushButton_9_clicked()
{
    a+="8";
    ui->lineEdit->setText(a);
}


void Widget::on_pushButton_8_clicked()
{
    a+="0";
    ui->lineEdit->setText(a);
}


void Widget::on_pushButton_11_clicked()
{
    a+="9";
    ui->lineEdit->setText(a);
}
//按键名自动忽略

2.+/*-的实现

void Widget::on_pushButton_13_clicked()
{
    b.insert(0,a);
    a.clear();
    ui->lineEdit->setText(a);
    b.insert(1,"+");
}


void Widget::on_pushButton_15_clicked()
{
    b.insert(0,a);
    a.clear();
    ui->lineEdit->setText(a);
    b.insert(1,"-");
}


void Widget::on_pushButton_12_clicked()
{
    b.insert(0,a);
    a.clear();
    b.insert(1,"*");
    ui->lineEdit->setText(a);
}


void Widget::on_pushButton_14_clicked()
{
    b.insert(0,a);
    a.clear();
    ui->lineEdit->setText(a);
    b.insert(1,"/");

}


if(b.at(1)=="+"){
        if(b.count()>=2){
            b.insert(2,a);
            double val=b.at(0).toDouble()+b.at(2).toDouble();
            a=QString::number(val);
        }
    }
    if(b.at(1)=="-"){
        if(b.count()>=2){
            b.insert(2,a);
            double val=b.at(0).toDouble()-b.at(2).toDouble();
            a=QString::number(val);
        }
    }
    if(b.at(1)=="*"){
        if(b.count()>=2){
            b.insert(2,a);
            double val=b.at(0).toDouble()*b.at(2).toDouble();
            a=QString::number(val);
        }
    }
    if(b.at(1)=="/"){
        if(b.count()>=2){
            b.insert(2,a);
            double val=b.at(0).toDouble()/b.at(2).toDouble();
            a=QString::number(val);
        }
        if(b.at(0)=="0"||b.at(2)=="0"){
            qDebug()<<"除数不能为0";
            QMessageBox::warning(this,"运算无效","除数不能为0",QMessageBox::Yes|QMessageBox::No);
            a="";
            b.clear();
        }
    }
    QString c=b.at(0)+b.at(1)+b.at(2)+"=";
    ui->lineEdit_2->setText(c);
    ui->lineEdit->setText(a);

3.清除的实现

void Widget::on_pushButton_18_clicked()
{
    a.clear();
    b.clear();
    ui->lineEdit->setText(a);
    ui->lineEdit_2->setText("");
}


4.backspace的实现

void Widget::on_pushButton_19_clicked()
{
    a.chop(1);
    ui->lineEdit->setText(a);
}

5.字体对话框的实现


void Widget::on_pushButton_clicked()
{
    bool isflag;
    QFont font=QFontDialog::getFont(&isflag);
    if(isflag){
        ui->lineEdit->setFont(font);
        ui->lineEdit_2->setFont(font);
    }
}

6.颜色对话框的实现

void Widget::on_pushButton_20_clicked()
{
    QColor color=QColorDialog::getColor(Qt::red);
    if(color.isValid()){
       ui->frame->setPalette(QPalette(color));
    }

}

7.网站打开的实现

void Widget::on_pushButton_21_clicked()
{
    QDesktopServices::openUrl(QUrl("www.baidu.com"));
}

8.图片导入的实现

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    a.clear();
    b.clear();
    ui->frame->setFrameShape(QFrame::Box);
    ui->frame->setAutoFillBackground(true);
    QPixmap pixmap("图片路径");
    ui->label_3->setPixmap(pixmap);
    ui->label_3->setScaledContents(true);
}

9.小数点的实现//存在bug

void Widget::on_pushButton_17_clicked()
{
    a+=".";
    ui->lineEdit->setText(a);

}

10.布局截图

在这里插入图片描述

11.运行截图

在这里插入图片描述

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值