Qt之簡易計算器

2021-06-20 09:16:48 字數 2880 閱讀 7401

寫之原因:

本人是一名菜鳥,學了qt也就十天左右吧。

學習一種對我來說比較新的語言,最好的學習方式就是去真刀真槍的幹一場!所以,閒來無事,就打算寫乙個小應用。

思來想去,覺得還是寫乙個簡單的計算器吧,因為其他的涉及的還不是特別深,感覺自己能駕馭的就是計算器這種,簡單而實用的小應用。

**:(1)calculate.h檔案:

#ifndef calculate_h

#define calculate_h

#include class qpushbutton;

class qlineedit;

class qhboxlayout;

class qvboxlayout;

class qchar;

class calculate : public qwidget

;#endif // calculate_h

(2)calculate.cpp檔案

#include "calculate.h"

#include "qpushbutton"

#include "qlineedit"

#include "qhboxlayout"

#include "qvboxlayout"

#include "qmessagebox"

#include "qkeyevent"

calculate::calculate(qwidget *parent)

: qwidget(parent)

//newbutton

void calculate::newbutton()

//keypressevent

void calculate::keypressevent(qkeyevent *key)

}//newlayout

void calculate::newlayout()

//slot_button

void calculate::slotbutton1()

else

qmessagebox::information(null,"info","out range...",qmessagebox::ok);

}void calculate::slotbutton2()

else

qmessagebox::information(null,"info","out range...",qmessagebox::ok);

}void calculate::slotbutton3()

else

qmessagebox::information(null,"info","out range...",qmessagebox::ok);

}void calculate::slotbutton4()

else

qmessagebox::information(null,"info","out range...",qmessagebox::ok);

}void calculate::slotbutton5()

else

qmessagebox::information(null,"info","out range...",qmessagebox::ok);

}void calculate::slotbutton6()

else

qmessagebox::information(null,"info","out range...",qmessagebox::ok);

}void calculate::slotbutton7()

else

qmessagebox::information(null,"info","out range...",qmessagebox::ok);

}void calculate::slotbutton8()

else

qmessagebox::information(null,"info","out range...",qmessagebox::ok);

}void calculate::slotbutton9()

else

qmessagebox::information(null,"info","out range...",qmessagebox::ok);

}void calculate::slotbutton0()

else

qmessagebox::information(null,"info","out range...",qmessagebox::ok);

}//slot_operator

void calculate::plus()

else

}void calculate::minus()

void calculate::multiply()

void calculate::divide()

void calculate::clear()

void calculate::equal()

else if(state == '-')

else if(state == '*')

else if(state == '/')

else}}

由於為了可以實現浮點數除法,所以我將兩個變數設為double型別。

上述**還利用了虛函式重構,將keypressevent()函式重新寫了,目的是為了可以實現鍵盤輸入數字然後進行運算,但是目前對於運算符號+、-、×、/還沒有完善。

如果有朋友有什麼好的想法,真心求指教。

以下是計算器的截圖:

有點醜 = =||| 請見諒....

Qt實驗之簡易計算器

環境 win qtcreator 2.8.0 新建qt gui應用,基類選qwidget,qdiolog以及 mainwindow都是可以的。在這裡我是的基類是qdiolog,類名我取得counter。在ui介面新增四個lineedit,分別作為兩個數的輸入框,符號的輸入框和結果的輸出框,再新增乙個...

QT實現簡易計算器

定義a用來儲存lineedit顯示內容 定義b用來儲存運算子等 ifndef widget h define widget h include qt begin namespace namespace ui qt end namespace class widget public qwidget e...

簡易計算器

include include include char xpr expression int level char ch double calc int lim return ret int main cal的遞迴使用,利用了當 運算子運算完畢以後,仍然會留在這個位置 比如式子 3 5 2 的分析...