環境 win+qtcreator-2.8.0
新建qt gui應用,基類選qwidget,qdiolog以及 mainwindow都是可以的。在這裡我是的基類是qdiolog,類名我取得counter。
在ui介面新增四個lineedit,分別作為兩個數的輸入框,符號的輸入框和結果的輸出框,再新增乙個按鈕,作為運算的觸發按鈕。新增乙個按鈕作為清屏使用,新增乙個按鈕作為推出使用,如下:
選中按鈕轉到槽函式,在槽函式中完成操作,如下:
void counter::on_pushbutton_clicked()
else
num3=num1/num2;
}qstring result=qstring::number(num3);
ui->lineeditresult->settext(result);
}
在這裡我用到了qstring,因此要新增標頭檔案#include,在警告那一行需要輸出漢字,因為需要在mian,cpp中新增呼叫中文字庫的函式:
qtextcodec::setcodecfortr(qtextcodec::codecforname("utf-8"));
呼叫那個該函式需要新增標頭檔案#include
在這裡需要注意型別的轉換,在linetext中得到的是string型別的資料,需要呼叫todouble將其轉換為double或者其他可運算的型別,我這裡是將它轉換為了double進行運算的。
當進行除運算時,注意除數為0時不能運算,需要報錯警告提示使用者。這裡呼叫warning函式時,需要新增標頭檔案#include。
運算結果是double型別的,在ui介面顯示時需要轉換為string型別才能被linetext顯示, 這裡有兩種轉換方式,如下:
第一種方法
qstring str ;
double i;
qstring result;
result = str.setnum(i);
第2種方法
double i;
qstring result;
result = qstring::number(i);
兩種都可以,我這裡用的是第二種。
選中clear按鈕轉到槽函式,新增如下:
void counter::on_pushbutton_clear_clicked()
選中exit按鈕轉到槽函式,新增如下:
void counter::on_pushbutton_exit_clicked()
執行效果如下:
當除數為0時:
Qt之簡易計算器
寫之原因 本人是一名菜鳥,學了qt也就十天左右吧。學習一種對我來說比較新的語言,最好的學習方式就是去真刀真槍的幹一場!所以,閒來無事,就打算寫乙個小應用。思來想去,覺得還是寫乙個簡單的計算器吧,因為其他的涉及的還不是特別深,感覺自己能駕馭的就是計算器這種,簡單而實用的小應用。1 calculate....
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 的分析...