资源简介

QT计算器:QT 计算器 键盘输入 窗口按钮输入 功能全实现 支持15位小数 HOHO~~~

资源截图

代码片段和文件信息

#include “cal.h“
#include “ui_cal.h“
#include 
/**********************************************************************
//QT的工作原理:
注意Qt的工作原理:
(1)在构造函数将通过QtDesigner的创建的界面通过setupUi创建,必须先创建,才能在构造函数中使用
(2)将界面控件的信号操作和槽进行连接;
(3)同时初始化界面窗口配件的属性
通过以上的步骤就能实现了界面到类,类和事件消息的关联。而主函数中,则进行循环等待事件即可;
***********************************************************************/
 QCal::QCal()
{

    //在构造函数中将Ui::cal类中的数据初始化,并引入在
    Ui::cal::setupUi(this);//在新建类中的构造函数中,调用Ui::cal类中的setupUi函数,
                           //使用setupUi函数创建一个与用户指定的窗口控件
    lineEdit->setText(“0“);//初始化线性编辑狂的文本为0
    GetNumber=“0“;//初始化变量
    zeroStr=“0“;//初始化变量
    Flag=cal_enter;/*四则运算的暂存值*/;
    StoreNumber=“0“;
    ResultFlag=Pointstate=Flagstate=false;/*四则运算按键是否按下状态*/;//小数点按下标志
      connect(oneSIGNAL(clicked())thisSLOT(Getnumber()));
      connect(twoSIGNAL(clicked())thisSLOT(Getnumber()));
      connect(threeSIGNAL(clicked())thisSLOT(Getnumber()));
      connect(fourSIGNAL(clicked())thisSLOT(Getnumber()));
      connect(fiveSIGNAL(clicked())thisSLOT(Getnumber()));
      connect(sixSIGNAL(clicked())thisSLOT(Getnumber()));
      connect(sevenSIGNAL(clicked())thisSLOT(Getnumber()));
      connect(eightSIGNAL(clicked())thisSLOT(Getnumber()));
      connect(nineSIGNAL(clicked())thisSLOT(Getnumber()));
      connect(zeroSIGNAL(clicked())thisSLOT(Getnumber()));

      connect(pointSIGNAL(clicked())thisSLOT(Calculate()));
      connect(pnSIGNAL(clicked())thisSLOT(Calculate()));
      connect(sqrtSIGNAL(clicked())thisSLOT(Calculate()));
      connect(diverseSIGNAL(clicked())thisSLOT(Calculate()));
      connect(BackSpaceSIGNAL(clicked())thisSLOT(Calculate()));
      connect(clearSIGNAL(clicked())thisSLOT(Calculate()));

      connect(addSIGNAL(clicked())thisSLOT(Calculate()));
      connect(subSIGNAL(clicked())thisSLOT(Calculate()));
      connect(mulSIGNAL(clicked())thisSLOT(Calculate()));
      connect(modeSIGNAL(clicked())thisSLOT(Calculate()));
      connect(divSIGNAL(clicked())thisSLOT(Calculate()));
      connect(enterSIGNAL(clicked())thisSLOT(Calculate()));
}
void QCal::Getnumber()
{
    QString str;
    str=((QPushButton *)sender())->text();//获取每个按键的text值,sender是QWidGet的成员,在这里只能将其变为
    GetNumber=lineEdit->text();//每次进入都获取编辑框的文本
    if(Flagstate==false)
    {
        if(GetNumber==zeroStr)//只有第一次并且按下0时进入这里,如果GetNumber是和按下0不相等,则设置其为新值,以后不在进入
        {
            if(str==zeroStr)
                lineEdit->setText(zeroStr);
            else
            {
                    GetNumber=str;
                    lineEdit->setText(GetNumber);

            }
        }
        else
        {

            GetNumber=GetNumber+str;
            lineEdit->setText(GetNumber);
        }
    }
    else
    {
        Pointstate=false;
        Flagstate=false;
        GetNumber=str;
        lineEdit->setText(GetNumber);
    }

}
void QCal::Calculate()
{
   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8560  2011-11-17 11:47  cal\cal.cpp

     文件        923  2011-11-17 11:07  cal\cal.h

     文件        104  2011-11-16 09:56  cal\cal.pro

     文件      21242  2011-11-17 11:50  cal\cal.pro.user

     文件       9668  2011-11-16 21:52  cal\cal.ui

     文件        531  2011-11-16 12:14  cal\main.cpp

     目录          0  2011-11-17 11:50  cal

----------- ---------  ---------- -----  ----

                41028                    7


评论

共有 条评论