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

时间:2022-12-29 14:29:54

这是我个人第一次使用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

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

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

Step 2:添加系统环境变量

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

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

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

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

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

Step 1:新建qt工程

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

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

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

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

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

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

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

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

Step 3:设计ui界面

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

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

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/