转载:VS2013+QT的环境配置

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文件(上文提到的),添加如下代码

[cpp]  view plain  copy
  1. //添加这一段代码  
  2. public slots://槽函数声明标志  
  3. void caculate();  

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

[cpp]  view plain  copy
  1. void test_vs::caculate()  
  2. {  
  3.     QString estr1 = "can not devide 0!";  
  4.     QString estr2 = "please choose caculate option!";  
  5.       
  6.     double n1 = ui.lineEdit_input1->text().toDouble();  
  7.     double n2 = ui.lineEdit_input2->text().toDouble();  
  8.   
  9.     int size1 = ui.lineEdit_input1->text().size();  
  10.     int size2 = ui.lineEdit_input2->text().size();  
  11.   
  12.     if (ui.lineEdit_input1->text().size() == 0 || ui.lineEdit_input1->text().size() == 0)  
  13.     {  
  14.         ui.textBrowser_out->setText("Please Input numbers!");  
  15.         return;  
  16.     }  
  17.   
  18.     double out = 0;  
  19.     if (ui.radioButton_plus->isChecked())  
  20.     {  
  21.         out = n1 + n2;  
  22.     }  
  23.     else if (ui.radioButton_dec->isChecked())  
  24.     {  
  25.         out = n1 - n2;  
  26.     }  
  27.     else if (ui.radioButton_multi->isChecked())  
  28.     {  
  29.         out = n1 * n2;  
  30.     }  
  31.     else if (ui.radioButton_div->isChecked())  
  32.     {  
  33.         if (abs(n2 - 0) < 1E-10)  
  34.         {  
  35.             ui.textBrowser_out->setText(estr1);  
  36.             return;  
  37.         }  
  38.         else  
  39.         out = n1 / n2;  
  40.     }  
  41.     else  
  42.     {  
  43.         ui.textBrowser_out->setText(estr2);  
  44.         return;  
  45.     }  
  46.   
  47.     ui.textBrowser_out->setText(QString::number(out,'f',10));  
  48. }  
最后,将信号与槽连接起来,在构造函数ui.setupUi(this);之后添加代码

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

Step 5:编译运行,OK


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

[plain]  view plain  copy
  1. 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/


你可能感兴趣的:(VS2013,C++)