⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 easycalculator.cpp

📁 简单计算器,基于Qt平台实现,有基本的数学运算功能.
💻 CPP
字号:
#include <QApplication>#include <QLineEdit>#include <QComboBox>#include <QStringList>#include <QLabel>#include <QPushButton>#include <QHBoxLayout>#include <QVBoxLayout>#include <QDoubleValidator>#include "easycalculator.h"EasyCalculator::EasyCalculator(QWidget *parent) : QDialog(parent){	QDoubleValidator *validator = new QDoubleValidator(this); 	firstNumberEdit = new QLineEdit(tr("0"), this);	firstNumberEdit->setValidator(validator);	connect(firstNumberEdit, SIGNAL(textChanged(const QString &)), this, SLOT(calculate()));	secondNumberEdit = new QLineEdit(tr("0"), this);	secondNumberEdit->setValidator(validator);	connect(secondNumberEdit, SIGNAL(textChanged(const QString &)), this, SLOT(calculate()));	resultEdit = new QLineEdit(tr("0"), this);	resultEdit->setReadOnly(true);		QStringList signList;	signList << tr("+") << tr("-") << tr("*") << tr("/");		signCombo = new QComboBox(this);	//signCombo->addItem(tr("+"));	//signCombo->addItem(tr("-"));	//signCombo->addItem(tr("*"));	//signCombo->addItem(tr("/"));	signCombo->addItems(signList);	connect(signCombo, SIGNAL(currentIndexChanged(const QString &)), this, SLOT(calculate()));		quitButton = new QPushButton(tr("Quit"), this);	connect(quitButton, SIGNAL(clicked()), qApp, SLOT(quit()));		QHBoxLayout *topLayout = new QHBoxLayout();	topLayout->addWidget(firstNumberEdit);	topLayout->addWidget(signCombo);	topLayout->addWidget(secondNumberEdit);	topLayout->addWidget(new QLabel(tr("=")));	topLayout->addWidget(resultEdit);		QVBoxLayout *layout = new QVBoxLayout();	layout->addLayout(topLayout);	layout->addWidget(quitButton);		setLayout(layout);}void EasyCalculator::calculate(){	double first;	double second;	double result;	QString firstString;	QString secondString;	QString resultString;		firstString = firstNumberEdit->text();	secondString = secondNumberEdit->text();		first = firstString.toDouble();	second = secondString.toDouble();		switch (signCombo->currentIndex())	{		case 0:			result = first + second;			break;		case 1:			result = first - second;			break;		case 2:			result = first * second;			break;		case 3:			result = first / second;			break;		default:			result = 0;			break;	}		resultString.setNum(result, 'f', 3);		resultEdit->setText(resultString);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -