树莓派4b使用 QT 开发简单计算器(三)

本文档详细介绍了如何使用QT在树莓派4b上开发一个简单的计算器应用,包括主函数和计算器类的实现,涉及按钮事件处理、中缀表达式转后缀表达式以及计算结果等关键功能。
摘要由CSDN通过智能技术生成

2021SC@SDUSC

计算器源码

一、main

#include "calculator.h"
#include <QApplication>
int main(int argc, char *argv[])
{   QApplication a(argc, argv);
    calculator w;
    w.show();
    return a.exec();}

二、calculator.cpp

#include "calculator.h"

#include<iostream>

using namespace std;

#include<stack>

#include<vector>

#include<cstdlib>

#include<limits.h>

#pragma execution_character_set("utf-8")

bool isNum(char ch);

bool isOperate(char ch);

int level(char ch);

double scd(string s);

double getValue(vector<string> V);

vector<string> midToPost(string s);

calculator::calculator(QWidget *parent) : QMainWindow(parent)

{

       QWidget *widget=new QWidget; //构建一个QWidget布局将设置的布局添加进这个QWidget

       this->setCentralWidget(widget);

       inputLine=new QLineEdit;

       inputLine->setText(input);

       zeroButton=new QPushButton("0");

       oneButton=new QPushButton("1");

       twoButton=new QPushButton("2");

       threeButton=new QPushButton("3");

       fourButton=new QPushButton("4");

       fiveButton=new QPushButton("5");

       sixButton=new QPushButton("6");

       sevenButton=new QPushButton("7");

       eightButton=new QPushButton("8");

       nineButton=new QPushButton("9");

       decButton=new QPushButton(".");

       botButton=new QPushButton("±");

       timButton=new QPushButton("Time");

       addButton=new QPushButton("+");

       subButton=new QPushButton("-");

       mulButton=new QPushButton("*");

       divButton=new QPushButton("/");

       equButton=new QPushButton("=");

       lefButton=new QPushButton("(");

       rigButton=new QPushButton(")");

       CEButton=new QPushButton("CE");

       ACButton=new QPushButton("AC");

       QGridLayout *H=new QGridLayout(this); //声明了一个网格布局

       inputLine->setFixedHeight(50); //调整第一行大小

       CEButton->setFixedHeight(50);

       ACButton->setFixedHeight(50);

       H->addWidget(inputLine,0,0,1,3);

       H->setRowStretch(0,100);

       H->addWidget(CEButton,0,3);

       H->addWidget(ACButton,0,4);

       H->addWidget(oneButton,1,0);

       H->addWidget(twoButton,1,1);

       H->addWidget(threeButton,1,2);

       H->addWidget(botButton,1,3);

       H->addWidget(timButton,1,4);

       H->addWidget(fourButton,2,0);

       H->addWidget(fiveButton,2,1);

       H->addWidget(sixButton,2,2);

       H->addWidget(addButton,2,3);

       H->addWidget(subButton,2,4);

       H->addWidget(sevenButton,3,0);

       H->addWidget(eightButton,3,1);

       H->addWidget(nineButton,3,2);

       H->addWidget(mulButton,3,3);

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值