文章來源地址http://www.zghlxwxcb.cn/news/detail-707527.html
#include "widget.h"
#include "ui_widget.h"
#include <QScriptEngine>
#include <QMessageBox>>
#include <QIcon>
#include <QFont>
widget::widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::widget)
{
ui->setupUi(this);
// 中文后面不加空格,無法正常編譯,加了之后亂碼
this->setWindowTitle("計算器 ");
// 設(shè)置lineEdit右邊對齊
ui->lineEdit->setAlignment(Qt::AlignRight);
// 設(shè)置lineEdit字體大小
QFont font("仿宋", 10);
ui->lineEdit->setFont(font);
// 設(shè)置刪除按鈕以圖片形式加載
QIcon icon("D:\\workspace\\qt\\caculator\\back.PNG");
ui->backButton->setIcon(icon);
// 設(shè)置等號button背景為綠色
ui->equalButton->setStyleSheet("background:green");
}
widget::~widget()
{
delete ui;
}
void widget::on_equalButton_clicked()
{
try {
// 使用script中的evaluate,需要安裝這個QScriptEngine插件庫
QScriptEngine engine;
QScriptValue res = engine.evaluate(this->expression);
QString value = res.toString();
ui->lineEdit->setText(value);
} catch (...) {
QMessageBox box;
box.setText(this->expression + "is invalid");
}
}
void widget::on_pointButton_clicked()
{
this->expression += ".";
ui->lineEdit->setText(this->expression);
}
void widget::on_zeroButton_clicked()
{
this->expression += "0";
ui->lineEdit->setText(this->expression);
}
void widget::on_modButton_clicked()
{
this->expression += "%";
ui->lineEdit->setText(this->expression);
}
void widget::on_oneButton_clicked()
{
this->expression += "1";
ui->lineEdit->setText(this->expression);
}
void widget::on_twoButton_clicked()
{
this->expression += "2";
ui->lineEdit->setText(this->expression);
}
void widget::on_threeButton_clicked()
{
this->expression += "3";
ui->lineEdit->setText(this->expression);
}
void widget::on_addButton_clicked()
{
this->expression += "+";
ui->lineEdit->setText(this->expression);
}
void widget::on_sixButton_clicked()
{
this->expression += "6";
ui->lineEdit->setText(this->expression);
}
void widget::on_fiveButton_clicked()
{
this->expression += "5";
ui->lineEdit->setText(this->expression);
}
void widget::on_fourButton_clicked()
{
this->expression += "4";
ui->lineEdit->setText(this->expression);
}
void widget::on_subButton_clicked()
{
this->expression += "-";
ui->lineEdit->setText(this->expression);
}
void widget::on_nineButton_clicked()
{
this->expression += "9";
ui->lineEdit->setText(this->expression);
}
void widget::on_eightButton_clicked()
{
this->expression += "8";
ui->lineEdit->setText(this->expression);
}
void widget::on_sevenButton_clicked()
{
this->expression += "7";
ui->lineEdit->setText(this->expression);
}
void widget::on_backButton_clicked()
{
this->expression.chop(1);
ui->lineEdit->setText(this->expression);
}
void widget::on_mutiButton_clicked()
{
this->expression += "*";
ui->lineEdit->setText(this->expression);
}
void widget::on_divButton_clicked()
{
this->expression += "/";
ui->lineEdit->setText(this->expression);
}
void widget::on_clearButton_clicked()
{
this->expression.clear();
ui->lineEdit->setText(this->expression);
}
文章來源:http://www.zghlxwxcb.cn/news/detail-707527.html
到了這里,關(guān)于QT 簡易計算器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!