非常有帮助的参考资料:

https://blog.csdn.net/gaojixu/article/details/82185694

该参考文献的主要流程:

(1)QT下载安装:从官网下载QT,并记住安装路径。

(2)在VS2017中下载QT的扩展模块:

  ①打开VS2017,选择工具 - 拓展和更新

  ②点击 联机 ,然后在搜索框中输入 Qt ,然后点击 下载

  ③关闭VS2017 ,会弹出VS2017 QT安装界面,点击弹窗中的 修改,然后关闭

  ④再次打开VS2017 ,在VS2017 的 Qt vs tools 的下拉菜单中选择 Qt options,进行相应环境配置,步骤较多,具体见参考资料。

  ⑤配置系统环境变量。

(3)在VS2017中新建一个C++的QT项目,进行测试。

注意,新建一个项目测试时,会弹框让勾选一些东西,具体每项勾选的作用目前不清楚,该参考资料中也没提及,自己实践发现全不勾选也没关系,功能跟之前测试的PYQT开发一样。

————————————————————————————————————————————————————————————————————

计算器程序Demo测试:

参考资料(有没解释的地方):https://blog.csdn.net/bjailihong/article/details/77508615

步骤:

第一  新建QT项目(简单)

第二  在Qt Designer中设计计算器UI界面(简单)

第三  在‘’项目名称.cpp‘’文件中(非main.cpp文件)添加事件和槽的关联代码,并编写UI界面中各处理逻辑

第三步全代码如下:主要注意各部分代码的摆放位置。

#include "QtGuiApplication1.h"

QtGuiApplication1::QtGuiApplication1(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    //添加关联代码,必须放在 setupUi 函数之后,信号与槽机制
    //btn_caculate为计算器中按钮的name,caculate为接下来自定义的函数名称
    connect(ui.btn_caculate, SIGNAL(clicked()), this, SLOT(caculate()));
}

void QtGuiApplication1::caculate()
{
    QString estr1 = "can not devide 0!";
    QString estr2 = "please choose caculate option!";

    double n1 = ui.lineEdit->text().toDouble();
    double n2 = ui.lineEdit_2->text().toDouble();

    int size1 = ui.lineEdit->text().size();
    int size2 = ui.lineEdit_2->text().size();

     || ui.lineEdit_2->text().size() == )
    {
        ui.lineEdit_3->setText("Please Input numbers!");
        return;
    }

    ;
    if (ui.radioButton->isChecked())
    {
        out = n1 + n2;
    }
    else if (ui.radioButton_2->isChecked())
    {
        out = n1 - n2;
    }
    else if (ui.radioButton_3->isChecked())
    {
        out = n1 * n2;
    }
    else if (ui.radioButton_4->isChecked())
    {
        ) < 1E-)
        {
            ui.lineEdit_3->setText(estr1);
            return;
        }
        else
            out = n1 / n2;
    }
    else
    {
        ui.lineEdit_3->setText(estr2);
        return;
    }

    ui.lineEdit_3->setText(QString::number());
}

最终效果:

注意:在测试该Demo时,修改了UI界面中某控件名字后,VS中的.h文件有时候并未更新,导致代码补全时一直不弹出最新的控件变量名。

等我直接编译运行一次项目后,才更新过来,具体该方面原因和解决办法暂时未去了解。

环境搭建中途报错1:

这是因为仅在VS2017中下载了QT模块,而没有在本机电脑中安装QT软件或配置环境变量,导致在VS中新建QT项目时报此错。

如下补充一点关于pyqt和qt开发区别:

VS2017 + QT5 + C++开发环境搭建和计算器Demo测试的更多相关文章

  1. 【游戏开发】基于VS2017的OpenGL开发环境搭建

    一.简介 最近,马三买了两本有关于“计算机图形学”的书籍,准备在工作之余鼓捣鼓捣图形学和OpenGL编程,提升自己的价值(奔着学完能涨一波工资去的).俗话说得好,“工欲善其事,必先利其器”.想学习图形 ...

  2. VS2017离线安装与Oracle数据库开发环境搭建

    记得之前使用VS2015打开老的MVC4项目,不能右键创建控制器和添加视图,让我非常不习惯!找遍了网络无果,最后只能回到VS2013,但我就是不喜欢用旧的VS,这是不是病... 1.将VS2017离线 ...

  3. windows 下QT5.5+vs2013开发环境搭建

    开发环境搭建: 1.下载QT,下载的网址如下: http://download.qt.io/official_releases/vsaddin/ http://download.qt.io/offic ...

  4. [.net 面向对象程序设计深入](9).NET Core 跨平台开发环境搭建

    [.net 面向对象程序设计深入](9).NET Core 跨平台开发环境搭建 1.概述 读前必备:认识.NET Core 上篇介绍了.NET 新的生态环境:包括.NET Framework..NET ...

  5. 各种版本QT下载地址与VS2013+QT5.3.1环境搭建过程(转)

    原文转自 http://blog.csdn.net/baidu_34678439/article/details/54586058 1. 所有Qt版本下载地址: http://download.qt. ...

  6. Zynq7000开发系列-6(QT开发环境搭建:Ubuntu、Zynq)

    操作系统:Ubuntu14.04.5 LTS 64bit Qt:Qt 5.4.2 (qt-opensource-linux-x64-5.4.2.run.qt-everywhere-opensource ...

  7. Ionic2开发环境搭建-VS 2017

    原文:Ionic2开发环境搭建-VS 2017 目前在VS 2017中创建Ionic2版本项目 注:在VS中开发Ionic项目,使用的Ionic(v2.x),Cordova(v6.3.1),Angul ...

  8. NetCore2.2开发环境搭建和2008R2部署环境搭建

    开发环境: 开发工具:VS2017 系统:Win10 64位 Skd下载地址: https://dotnet.microsoft.com/download 3个都下载下载,安装dotnet-sdk-2 ...

  9. Linux下使用VsCode进行Qt开发环境搭建

    最近在Linux上搞Qt, vim环境还用不太习惯, QtCreator之前使用时莫名其妙崩溃然后丢失代码之后就被我彻底放弃了, 于是研究了一下用VsCode进行Qt开发. 首先是系统环境和下载安装包 ...

随机推荐

  1. .net 模拟登陆 post https 请求跳转页面

    AllowAutoRedirect property is true, the Referer property is set automatically when the request is re ...

  2. HttpClient之可恨的Expect(C# http 请求卡住的解决办法)

    今天用HTTP.HttpClient这个对象开发的时候遇到一个奇怪的问题 当POST一个页面的时候始终卡住提交不成功 最初以为协议有错误就抓包测试在抓包在测试 最后想到是不是HttpClient的BU ...

  3. Android Studio 活动的生命周期

    Activity 类中定义了7个回调方法,覆盖了活动的活动周期的每一环节 onCreate()  活动第一次创建的时候调用 onStart() 这个活动由不可见变为可见的时候调用 onResume() ...

  4. webAPI 上传文件 404错误(转载)

    webAPI文件上传时文件过大404错误的问题  来源:https://www.cnblogs.com/dzhengyang/p/9149157.html 背景:最近公司有个需求,外网希望自动保存数据 ...

  5. Mybatis框架可视化(1)

    Mybatis整体架构视图: 接 口 层 SqlSession (定义了Mybatis暴露给应用程序调用的API) 核 心 处 理 层 配置解析 (加载核心配置.映射配置. mapper接口注解信息, ...

  6. mapper加载的3种方法

    <!-- mapper加载有3种方法: 1:通过resource或url加载单个mapper 2:通过mapper接口类名加载单个mapper 3:通过package批量加载多个mapper(推 ...

  7. 大事记 - 安卓微信浏览器 video 标签层级过高

    // 为什么叫<大事记>? // 以前总有面试官问这样一个问题:“你在项目中遇到过最头疼的问题是什么,是怎么解决的?” // 当时总觉得,已解决的问题都算不上头疼,所以回答总是不尽人意. ...

  8. canvas-8searchLight3.html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. CentOS-7.2安装Ambari-2.6.1

    CentOS-7.2安装Ambari-2.6.1 一.Ambari 是什么? Ambari 跟 Hadoop 等开源软件一样,也是 Apache Software Foundation 中的一个项目, ...

  10. Ubuntu下解压缩文件

    记录Ubuntu下各种压缩和解压方式: .tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)—————— ...