非常有帮助的参考资料:

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. Java 8 ThreadLocal 源码解析

    Java 中的 ThreadLocal是线程内的局部变量, 它为每个线程保存变量的一个副本.ThreadLocal 对象可以在多个线程中共享, 但每个线程只能读写其中自己的副本. 目录: 代码示例 源 ...

  2. 深入MySQL复制(二):基于GTID复制

    相比传统的MySQL复制,gtid复制无论是配置还是维护都要轻松的多.本文对gtid复制稍作介绍. MySQL基于GTID复制官方手册:https://dev.mysql.com/doc/refman ...

  3. TensorFlow.js入门(一)一维向量的学习

    TensorFlow的介绍   TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着N维数组,Flow(流)意味着 ...

  4. C# 转换关键字 operator

    operator 使用 operator 关键字重载内置运算符,或在类或结构声明中提供用户定义的转换. 假设场景,一个Student类,有语文和数学两科成绩,Chinese Math,加减两科成绩,不 ...

  5. [转]windows BLE编程 net winform 连接蓝牙4.0

    本文转自:https://www.cnblogs.com/webtojs/p/9675956.html winform 程序调用Windows.Devices.Bluetoot API 实现windo ...

  6. c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错

    如果一个对象的值为null,那么它调用扩展方法时会报错吗? Person p = null ; p.ExtendMethod(); 上述代码出现的情况不会报错,刚开始遇到这种情况时很纳闷,就去问了大牛 ...

  7. SpringBoot中异步请求和异步调用(看这一篇就够了)

    原创不易,如需转载,请注明出处https://www.cnblogs.com/baixianlong/p/10661591.html,否则将追究法律责任!!! 一.SpringBoot中异步请求的使用 ...

  8. kafka消费者启动报错

    报错信息: WARN Fetching topic metadata with correlation id 14 for topics [Set(test)] from broker [Broker ...

  9. BZOJ2028: [SHOI2009]会场预约(set)

    Time Limit: 20 Sec  Memory Limit: 64 MBSubmit: 425  Solved: 213[Submit][Status][Discuss] Description ...

  10. 2018-05-09 5分钟入门CTS-尝鲜中文版TypeScript

    知乎原链 本文为中文代码示例之5分钟入门TypeScript的CTS版本. CTS作者是@htwx(github). 它实现了关键词和标准库的所有命名汉化. 本文并未使用附带的vscode相关插件(包 ...