資源簡介
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
- 上一篇:轉子試驗臺振動測量數據.zip
- 下一篇:Labview串口全功能支持 帶VI源碼
評論
共有 條評論