iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么使用Qt制作简单的计算器
  • 394
分享到

怎么使用Qt制作简单的计算器

2023-07-04 19:07:44 394人浏览 八月长安
摘要

这篇文章主要讲解了“怎么使用Qt制作简单的计算器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Qt制作简单的计算器”吧!前言这里先跟大家说说使用到的函数:槽连接函数connect(信

这篇文章主要讲解了“怎么使用Qt制作简单的计算器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Qt制作简单的计算器”吧!

前言

这里先跟大家说说使用到的函数:

槽连接函数

connect(信号发送者,发送的信号,信号接收者,信号接收者的槽函数)

取出按钮中的字符

QString line = ui->pushButton1->text() //取出按钮pushButton1中的字符存放到line中

设置输入框中显示的内容

ui->lineEdit->setText(line); //设置输入框lineEdit中显示的内容,line为要显示的内容

清空字符数组

line.clear(); //清空字符数组line中的内容

将字符转换成整形、浮点型、数值

double sum = temp1.toDouble() + temp2.toDouble(); //将字符转换成浮点型

将整形、浮点型、数值转换成字符

ui->lineEdit->setText(QString::number(sum)); //将浮点型转换成字符

从字符的最后一位开始往开头的方向按位删除字符

 line.chop(1); //尾剔除,即是从字符串后面开始按位删除,每次删除字符数组line中的一位,如果是2则是每次两位,依次类推

完整代码

下面是头文件widget.h中的代码:

#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QString>namespace Ui {class Widget;}class Widget : public QWidget{    Q_OBJECTpublic:    explicit Widget(QWidget *parent = 0);    ~Widget();protected slots:    void item0();//0    void item1();//1    void item2();//2    void item3();//3    void item4();//4    void item5();//5    void item6();//6    void item7();//7    void item8();//8    void item9();//9    void sub();//减号    void div();//除号    void mul();//乘号    void cancel();//取消    void delet();//尾剔除    void add();//加号    void equal();//等于号    void point();//小数点private:    Ui::Widget *ui;};#endif // WIDGET_H

源文件widget.cpp中的代码:

#include "widget.h"#include "ui_widget.h"#include <QString>#include <QDebug>#include <stdlib.h>#include <string.h>Widget::Widget(QWidget *parent) :    QWidget(parent),    ui(new Ui::Widget){    ui->setupUi(this);    //连接槽函数    connect(ui->pushButton0,SIGNAL(clicked(bool)),this,SLOT(item0())); //0    connect(ui->pushButton1,SIGNAL(clicked(bool)),this,SLOT(item1())); //1    connect(ui->pushButton2,SIGNAL(clicked(bool)),this,SLOT(item2())); //2    connect(ui->pushButton3,SIGNAL(clicked(bool)),this,SLOT(item3())); //3    connect(ui->pushButton4,SIGNAL(clicked(bool)),this,SLOT(item4())); //4    connect(ui->pushButton5,SIGNAL(clicked(bool)),this,SLOT(item5())); //5    connect(ui->pushButton6,SIGNAL(clicked(bool)),this,SLOT(item6())); //6    connect(ui->pushButton7,SIGNAL(clicked(bool)),this,SLOT(item7())); //7    connect(ui->pushButton8,SIGNAL(clicked(bool)),this,SLOT(item8())); //8    connect(ui->pushButton9,SIGNAL(clicked(bool)),this,SLOT(item9())); //9    connect(ui->pushButton_c,SIGNAL(clicked(bool)),this,SLOT(cancel()));//取消    connect(ui->pushButton_add,SIGNAL(clicked(bool)),this,SLOT(add()));//加号    connect(ui->pushButton_equal,SIGNAL(clicked(bool)),this,SLOT(equal()));//等于号    connect(ui->pushButton_point,SIGNAL(clicked(bool)),this,SLOT(point()));//小数点    connect(ui->pushButton_div,SIGNAL(clicked(bool)),this,SLOT(div()));//除号    connect(ui->pushButton_sub,SIGNAL(clicked(bool)),this,SLOT(sub()));//减号    connect(ui->pushButton_mul,SIGNAL(clicked(bool)),this,SLOT(mul()));//乘号    connect(ui->pushButton_delete,SIGNAL(clicked(bool)),this,SLOT(delet()));//尾剔除}QString line;QString item_0; //0QString item_1; //1QString item_2; //2QString item_3;//3QString item_4;//4QString item_5;//5QString item_6;//6QString item_7;//7QString item_8;//8QString item_9;//9QString temp1,temp2; //临时存放两次输入的要进行计算的项double sum = 0;  //计算后的结果int flag = 0,flag1 = 0; //flag加号标志,flag1等于号标志int flag3 = 0;//减号标志int flag4 = 0;//乘号标志int flag5 = 0;//除号标志Widget::~Widget(){    delete ui;}void Widget::item0() //0{    item_0 = ui->pushButton0->text(); //获取按键中的字符"0"    line += item_0;//每按一次按键就相加一次按键中的字符"0"    ui->lineEdit->setText(line); //显示到输入条中}void Widget::item1() //1{    item_1 = ui->pushButton1->text();    line += item_1;    ui->lineEdit->setText(line);}void Widget::item2() //2{   item_2 = ui->pushButton2->text(); //获取按键中的字符"2"   line += item_2; //每按一次按键就相加一次按键中的字符"2"   ui->lineEdit->setText(line);}void Widget::item3() //3{   item_3 = ui->pushButton3->text(); //获取按键中的字符"3"   line += item_3; //每按一次按键就相加一次按键中的字符"3"   ui->lineEdit->setText(line);}void Widget::item4() //4{    item_4 = ui->pushButton4->text();    line += item_4;    ui->lineEdit->setText(line);}void Widget::item5() //5{    item_5 = ui->pushButton5->text();    line += item_5;    ui->lineEdit->setText(line);}void Widget::item6() //6{    item_6 = ui->pushButton6->text();    line += item_6;    ui->lineEdit->setText(line);}void Widget::item7() //7{    item_7 = ui->pushButton7->text();    line += item_7;    ui->lineEdit->setText(line);}void Widget::item8() //8{    item_8 = ui->pushButton8->text();    line += item_8;    ui->lineEdit->setText(line);}void Widget::item9() //9{    item_9 = ui->pushButton9->text();    line += item_9;    ui->lineEdit->setText(line);}void Widget::point() //小数点{    if(flag1 == 0) //没有按等于号按键,说明没有进行运算,所以显示第一次输入的字符串    {        line +=".";        ui->lineEdit->setText(line);    }    if(flag1 == 1) //按了等于号按键,这时候要显示后面一次输入的字符串    {        line  = ui->lineEdit->text();        line += ".";        ui->lineEdit->setText(line);        flag1 = 0;    }}void Widget::delet() //尾剔除{    line = ui->lineEdit->text(); //获取输入条中的字符    line.chop(1); //倒位删除,即是从字符串后面开始按位删除    ui->lineEdit->setText(line);}void Widget::cancel() //重新置零{   line.clear();   temp1.clear();   temp2.clear();   sum = 0;   flag = 0;   flag1 = 0;   flag3 = 0;   flag4 =0;   flag5 = 0;   ui->lineEdit->setText(line);//输出0}void Widget::add() //相加{    flag = 1;    temp1 = ui->lineEdit->text(); //获取前面输入的字符,并临时保存起来    line.clear(); //清空字符数组    ui->lineEdit->setText(line);//显示清空状态}void Widget::sub() //相减{    flag3 = 1;//按了加号按键就改变状态    temp1 = ui->lineEdit->text(); //获取前面输入的字符,并临时保存起来    line.clear(); //清空字符数组    ui->lineEdit->setText(line);//显示清空状态}void Widget::div()//除法{    flag4 = 1;//按了加号按键就改变状态    temp1 = ui->lineEdit->text(); //获取前面输入的字符,并临时保存起来    line.clear(); //清空字符数组    ui->lineEdit->setText(line);//显示清空状态}void Widget::mul()//乘法{    flag5 = 1;//按了加号按键就改变状态    temp1 = ui->lineEdit->text(); //获取前面输入的字符,并临时保存起来    line.clear(); //清空字符数组    ui->lineEdit->setText(line);//显示清空状态}void Widget::equal() //得出结果{    flag1 = 1; //按一次等于号就改变状态    if(flag == 1) //加法    {        temp2 = ui->lineEdit->text();        line.clear(); //清空字符串        sum = temp1.toDouble() + temp2.toDouble(); //将字符转换成浮点型        ui->lineEdit->setText(QString::number(sum)); //将浮点型转换成字符        flag = 0; //重新让标志位置零,等待下一次的加法进行    }    else if(flag3 == 1) //减法    {        temp2 = ui->lineEdit->text();        line.clear(); //清空字符串        ui->lineEdit->setText(line);        sum = temp1.toDouble() - temp2.toDouble(); //将字符转换成浮点型        if(sum == 0) //等于0        {            ui->lineEdit->setText("0");        }        ui->lineEdit->setText(QString::number(sum)); //将浮点型转换成字符            // qDebug()<<sum;        flag3 = 0; //重新让标志位置零,等待下一次的减法进行    }    else if(flag4 == 1) //除法    {        temp2 = ui->lineEdit->text();        line.clear(); //清空字符串        sum = temp1.toDouble() / temp2.toDouble(); //将字符转换成浮点型        if(temp2 == "0") //分母等于0        {            ui->lineEdit->setText("0");        }        ui->lineEdit->setText(QString::number(sum)); //将浮点型转换成字符        flag4 = 0; //重新让标志位置零,等待下一次的除法进行    }   else if(flag5 == 1) //乘法    {        temp2 = ui->lineEdit->text();        line.clear(); //清空字符串        sum = temp1.toDouble() * temp2.toDouble(); //将字符转换成浮点型        ui->lineEdit->setText(QString::number(sum)); //将浮点型转换成字符        flag5 = 0; //重新让标志位置零,等待下一次的乘法进行    }}

效果图

怎么使用Qt制作简单的计算器

感谢各位的阅读,以上就是“怎么使用Qt制作简单的计算器”的内容了,经过本文的学习后,相信大家对怎么使用Qt制作简单的计算器这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 怎么使用Qt制作简单的计算器

本文链接: https://www.lsjlt.com/news/347210.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么使用Qt制作简单的计算器
    这篇文章主要讲解了“怎么使用Qt制作简单的计算器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Qt制作简单的计算器”吧!前言这里先跟大家说说使用到的函数:槽连接函数connect(信...
    99+
    2023-07-04
  • Qt实现制作简单的计算器
    目录前言完整代码效果图前言 今天使用qt制作了一个很简单的计算器,觉得挺有意思的,所以在这里跟大家分享一下。 这里先跟大家说说使用到的函数: 1、槽连接函数 connect(信号发送...
    99+
    2022-12-19
    Qt实现计算器 Qt计算器
  • 用Java制作简单的计算器
    本篇文章主要是提供思路,当然文章末尾也又提供了源代码。 代码也是写了几天,重要的理解,不是直接复制粘贴就交作业了。 转载请注明出处,尊重作者劳动成果。 目录 界面的设计: 事件的响应: 计算: 详细代码如下:  总结: 要制作一个简...
    99+
    2023-10-09
    java spring jvm
  • 怎么用python制作简单计算器功能
    今天小编给大家分享一下怎么用python制作简单计算器功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。效果如图:主要思路:...
    99+
    2023-06-29
  • C++制作简单的计算器功能
    计算器这个基本都很熟悉,一个简单的计算器有加法,减法,乘法,除法这四种功能。 如下图 此处我此处逻辑如下,先判断输入的运算符符号,然后在判断输入的数字来进行一个计算。 #inclu...
    99+
    2024-04-02
  • JavaScript制作简单网页计算器
    本文实例为大家分享了JavaScript制作简单网页计算器的具体代码,供大家参考,具体内容如下 一、题目 利用JavaScript中的函数,完成数字加、减、乘、除的运算,实现一个简单...
    99+
    2022-11-13
    js 计算器
  • python制作简单计算器功能
    本文实例为大家分享了python实现简单计算器功能的具体代码,供大家参考,具体内容如下 效果如图: 主要思路: 用列表保存按下的键,按下等于,转换为字符串,利用内置函数eval计算...
    99+
    2024-04-02
  • JavaScript制作简单计算器功能
    本文实例为大家分享了JavaScript制作简单计算器的具体代码,供大家参考,具体内容如下 1. 任务要求 1)掌握数据的类型转换 2)学会获取文本框控件的数据以及给相应控件赋值 3...
    99+
    2024-04-02
  • QT实现简单计算器功能
    本文实例为大家分享了QT实现简单计算器功能的具体代码,供大家参考,具体内容如下 效果图: 新建工程,创建类MainWindow,基类是QMainWindow,声明变量和函数、槽 m...
    99+
    2024-04-02
  • Qt实现可以计算大数的简单计算器
    目录1、简介2、作品演示3、重点原理讲解4、代码主体框架1、简介 计算器是我们生活中很常见的东西,它可以由多种语言多种方式来实现,今天我想讲的是基于C++语言,由QT实现的可以计算大...
    99+
    2022-12-12
    Qt 大数运算 计算器 Qt 计算器 Qt 大数运算
  • Android Studio制作一个简单的计算器APP
    虽然现在我们日常生活中很少用到计算器,但是第一次尝试在Android Studio上做一个计算器 程序设计步骤: (1)在布局文件中声明编辑文件框EditText,按钮Button等组件。 (2)在MainActivity中获取组件实例。 ...
    99+
    2023-10-03
    android android studio
  • 怎么用Qt制作简单的日期选择界面
    本文小编为大家详细介绍“怎么用Qt制作简单的日期选择界面”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Qt制作简单的日期选择界面”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Qt自带的日期选择控件过于丑陋...
    99+
    2023-07-05
  • QT如何实现简单计算器功能
    这篇文章主要讲解了“QT如何实现简单计算器功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“QT如何实现简单计算器功能”吧!效果图:新建工程,创建类MainWindow,基类是QMainWi...
    99+
    2023-06-30
  • js制作简易计算器
    本文实例为大家分享了js制作简易计算器的具体代码,供大家参考,具体内容如下 要制作一个如图所示的简易计算器,首先要建立一个表单,制作出如图所示的样子。 <table bo...
    99+
    2024-04-02
  • 如何使用Unity制作一个简易的计算器
    这篇文章给大家分享的是有关如何使用Unity制作一个简易的计算器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、前言Hello,又见面了,今天分享如何使用Unity制作计算器,难度中等,可以用来学习,或者当成其...
    99+
    2023-06-29
  • 怎么使用C#实现简单的计算器功能
    这篇文章主要介绍怎么使用C#实现简单的计算器功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!环境:VS2010及以上版本建立个Window窗体应用在工具箱里拖出两个TextBox,第一个放上面,第二个放下面 。主要...
    99+
    2023-06-29
  • 使用python编写简单计算器
    ​本文实例为大家分享了python编写简单计算器的具体代码,供大家参考,具体内容如下 做一个计算器,这是我们想要的效果。 1、准备工作 导入time、tqdm、math库 from...
    99+
    2024-04-02
  • 利用Qt制作简单的日期选择界面
    Qt自带的日期选择控件过于丑陋与难用,所以但凡有点小想法的人都会做一个全新的日历。 这就是本人制作的日历的截图: 制作日历的核心难点是填充日历。以下为我的填充日历函数: void ...
    99+
    2023-03-08
    Qt制作日期选择界面 Qt日期选择界面 Qt日期选择
  • Android studio怎么制作简易计算器功能
    这篇文章主要介绍“Android studio怎么制作简易计算器功能”,在日常操作中,相信很多人在Android studio怎么制作简易计算器功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-06-30
  • Python制作简易计算器功能
    本文实例为大家分享了Python制作简易计算器的具体代码,供大家参考,具体内容如下 简易计算器 简易计算器功能: 实现输入,计算,输出功能;可以计算基本的加减乘除功能;处理除法中除数...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作