QT5+VS2013环境搭建并实现一个简单计算器

这是我个人第一次使用QT,而且我习惯了在VS里面开发软件,所以将配置过程记录下,方便以后浏览

第一部分:配置QT5+VS2013

假设你已经安装好了VS2013社区版,下载并安装了QT5安装包(qt-windows-opensource )和QT插件(VisualStudioAdd-in ),下载安装请参考教程

Step 1:打开VS会在标题栏看到QT5,选择:QT5->QtOptions->Add,这里根据QT安装路径来添加,例如:D:\app-program\QT\5.8\msvc2013_64




Step 2:添加系统环境变量

右键计算机->属性->高级系统设置->高级->环境变量,找到系统变量Path,添加到末尾(以分号“;”来隔开相邻的路径)

D:\app-program\QT\5.8\msvc2013_64\bin;
至此,配置过程结束了,下面我演示如何在VS中开发QT项目。

第二部分:完成一个简单计算器的QT项目

先上一个已经完成了ui效果图,不得不说我设计的有点丑,捂脸


Step 1:新建qt工程

新建工程,选择Qt5 Projects->Qt Application,后面设置默认即可


Step 2:初步了解下相关文件


第一个箭头指向的文件是对应的ui界面文件,双击会自动打开,然后就可以设计ui界面了。

第二个文件是ui界面对应的.h文件

第三个和第五个是工程对应的.h,.cpp文件

第四个显而易见是主程序cpp文件了

Step 3:设计ui界面

在左侧找到相关控件,拖拽到面板上,修改相关参数即可


Step 4:添加caculate按键对应代码(槽函数)

首先,打开工程对应的.h文件(上文提到的),添加如下代码

//添加这一段代码
public slots://槽函数声明标志
void caculate();

其次,打开工程对应的.cpp文件,添加caculate的实现

void test_vs::caculate()
{
	QString estr1 = "can not devide 0!";
	QString estr2 = "please choose caculate option!";
	
	double n1 = ui.lineEdit_input1->text().toDouble();
	double n2 = ui.lineEdit_input2->text().toDouble();

	int size1 = ui.lineEdit_input1->text().size();
	int size2 = ui.lineEdit_input2->text().size();

	if (ui.lineEdit_input1->text().size() == 0 || ui.lineEdit_input1->text().size() == 0)
	{
		ui.textBrowser_out->setText("Please Input numbers!");
		return;
	}

	double out = 0;
	if (ui.radioButton_plus->isChecked())
	{
		out = n1 + n2;
	}
	else if (ui.radioButton_dec->isChecked())
	{
		out = n1 - n2;
	}
	else if (ui.radioButton_multi->isChecked())
	{
		out = n1 * n2;
	}
	else if (ui.radioButton_div->isChecked())
	{
		if (abs(n2 - 0) < 1E-10)
		{
			ui.textBrowser_out->setText(estr1);
			return;
		}
		else
		out = n1 / n2;
	}
	else
	{
		ui.textBrowser_out->setText(estr2);
		return;
	}

	ui.textBrowser_out->setText(QString::number(out,'f',10));
}
最后,将信号与槽连接起来,在构造函数ui.setupUi(this);之后添加代码

//添加关联代码,必须放在 setupUi 函数之后,信号与槽机制
	connect(ui.pushButton_caculate,SIGNAL(clicked()),this,SLOT(caculate()));

Step 5:编译运行,OK


备注:修改ui界面,可能与ui界面有关的.h文件并未更新,这个问题在网上找到了解决办法,需要手动调用Qt安装目录\bin\uic.exe来将ui转化为.h文件,我直接写成了cmd文件,调用方便一点,代码如下

D:\app-program\QT\5.8\msvc2013_64\bin\uic.exe D:\app\QT_learning\test_vs\test_vs\test_vs.ui -o D:\app\QT_learning\test_vs\test_vs\GeneratedFiles\ui_test_vs.h

第三部分:参考教程、qt编程指南

http://blog.csdn.net/liang19890820/article/details/49874033

http://blog.csdn.net/he_qiao/article/details/8775215

https://qtguide.ustclug.org/

  • 3
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
好的,这是一个简单的用QT+VS混合编程实现的简易计算器案例: 1. 首先,在QT中创建一个新的工程(例如,命名为Calculator),选择“QT Widgets Application”。 2. 在VS中打开Calculator.pro文件,将以下代码添加到文件末尾: ``` win32:CONFIG(release, debug|release): LIBS += -L$$PWD/ -lCalculator else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/ -lCalculatord ``` 3. 在VS中新建一个工程(例如,命名为CalculatorDLL),选择“DLL”模板。 4. 将以下代码添加到CalculatorDLL.cpp文件中: ``` #include "CalculatorDLL.h" double CalculatorDLL::add(double a, double b) { return a + b; } double CalculatorDLL::subtract(double a, double b) { return a - b; } double CalculatorDLL::multiply(double a, double b) { return a * b; } double CalculatorDLL::divide(double a, double b) { return a / b; } ``` 5. 在CalculatorDLL.h中声明DLL中的函数: ``` #ifndef CALCULATORDLL_H #define CALCULATORDLL_H #include <QtCore/qglobal.h> #if defined(CALCULATORDLL_LIBRARY) # define CALCULATORDLLSHARED_EXPORT Q_DECL_EXPORT #else # define CALCULATORDLLSHARED_EXPORT Q_DECL_IMPORT #endif class CALCULATORDLLSHARED_EXPORT CalculatorDLL { public: double add(double a, double b); double subtract(double a, double b); double multiply(double a, double b); double divide(double a, double b); }; #endif // CALCULATORDLL_H ``` 6. 在QT中打开Calculator.cpp文件,将以下代码添加到文件末尾: ``` #include "CalculatorDLL.h" void Calculator::on_addBtn_clicked() { double a = ui->num1Edit->text().toDouble(); double b = ui->num2Edit->text().toDouble(); CalculatorDLL calc; double result = calc.add(a, b); ui->resultLabel->setText(QString::number(result)); } void Calculator::on_subtractBtn_clicked() { double a = ui->num1Edit->text().toDouble(); double b = ui->num2Edit->text().toDouble(); CalculatorDLL calc; double result = calc.subtract(a, b); ui->resultLabel->setText(QString::number(result)); } void Calculator::on_multiplyBtn_clicked() { double a = ui->num1Edit->text().toDouble(); double b = ui->num2Edit->text().toDouble(); CalculatorDLL calc; double result = calc.multiply(a, b); ui->resultLabel->setText(QString::number(result)); } void Calculator::on_divideBtn_clicked() { double a = ui->num1Edit->text().toDouble(); double b = ui->num2Edit->text().toDouble(); CalculatorDLL calc; double result = calc.divide(a, b); ui->resultLabel->setText(QString::number(result)); } ``` 7. 在QT中打开Calculator.h文件,将以下代码添加到文件末尾: ``` #include "CalculatorDLL.h" ``` 8. 在QT中打开Calculator.ui文件,添加4个QPushButton和2个QLineEdit,分别命名为addBtn、subtractBtn、multiplyBtn、divideBtn、num1Edit、num2Edit和resultLabel。 9. 在QT中打开Calculator.pro文件,将以下代码添加到文件末尾: ``` TARGET = Calculator TEMPLATE = app DEFINES += QT_DEPRECATED_WARNINGS SOURCES += main.cpp\ Calculator.cpp HEADERS += Calculator.h FORMS += Calculator.ui win32:LIBS += CalculatorDLL.lib ``` 10. 编译并运行程序,即可使用简易计算器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值