VS2017 + QT5 + C++开发环境搭建和计算器Demo测试
非常有帮助的参考资料:
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测试的更多相关文章
- 【游戏开发】基于VS2017的OpenGL开发环境搭建
一.简介 最近,马三买了两本有关于“计算机图形学”的书籍,准备在工作之余鼓捣鼓捣图形学和OpenGL编程,提升自己的价值(奔着学完能涨一波工资去的).俗话说得好,“工欲善其事,必先利其器”.想学习图形 ...
- VS2017离线安装与Oracle数据库开发环境搭建
记得之前使用VS2015打开老的MVC4项目,不能右键创建控制器和添加视图,让我非常不习惯!找遍了网络无果,最后只能回到VS2013,但我就是不喜欢用旧的VS,这是不是病... 1.将VS2017离线 ...
- windows 下QT5.5+vs2013开发环境搭建
开发环境搭建: 1.下载QT,下载的网址如下: http://download.qt.io/official_releases/vsaddin/ http://download.qt.io/offic ...
- [.net 面向对象程序设计深入](9).NET Core 跨平台开发环境搭建
[.net 面向对象程序设计深入](9).NET Core 跨平台开发环境搭建 1.概述 读前必备:认识.NET Core 上篇介绍了.NET 新的生态环境:包括.NET Framework..NET ...
- 各种版本QT下载地址与VS2013+QT5.3.1环境搭建过程(转)
原文转自 http://blog.csdn.net/baidu_34678439/article/details/54586058 1. 所有Qt版本下载地址: http://download.qt. ...
- 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 ...
- Ionic2开发环境搭建-VS 2017
原文:Ionic2开发环境搭建-VS 2017 目前在VS 2017中创建Ionic2版本项目 注:在VS中开发Ionic项目,使用的Ionic(v2.x),Cordova(v6.3.1),Angul ...
- NetCore2.2开发环境搭建和2008R2部署环境搭建
开发环境: 开发工具:VS2017 系统:Win10 64位 Skd下载地址: https://dotnet.microsoft.com/download 3个都下载下载,安装dotnet-sdk-2 ...
- Linux下使用VsCode进行Qt开发环境搭建
最近在Linux上搞Qt, vim环境还用不太习惯, QtCreator之前使用时莫名其妙崩溃然后丢失代码之后就被我彻底放弃了, 于是研究了一下用VsCode进行Qt开发. 首先是系统环境和下载安装包 ...
随机推荐
- 解读经典《C#高级编程》第七版 Page20-32.核心C#.Chapter2
前言 讲到核心C#的语法,其实很难讲,因为大部分是基础知识.如果只讲入门的基础知识,那细节又多,意义也不大.我们就不讲一般性的内容,而是找一些有趣的点,展开讲讲. 01 Hello World Hel ...
- IPv6笔记
单播地址包含的几种类型:1.AGUA地址:2000::到3FFF:FFFF:FFFF:FFFF:FFFF..... 一个接口可以拥有若干个AGUA地址2.Link-Local 地址:FE80::/10 ...
- Docker在Linux上运行NetCore系列(四)使用私有Nuget与多个本地包引用运行ASPNetCore
转发请注明此文章作者与路径,请尊重原著,违者必究. 本篇文章演示了使用Dockerfile在Linux(ubuntu16.04)系统上构建ASPNetCore应用,并且在一个解决方案中存在多个项目之间 ...
- vue-element-admin项目install出现的问题
1.需要安装nodejs和git 2. 配置淘宝镜像源(经常是因为墙的原因下载缓慢或者出错) npm config set registry https://registry.npm.taobao.o ...
- 对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章,通过文氏图 Venn diagrams 解释了SQL的Join。我觉得清楚易懂,转过来。
对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Codi ...
- 关于Maven项目build时出现No compiler is provided in this environment的处理
版权声明:本文为博主原创文章,未经博主允许不得转载. http://blog.csdn.net/lslk9898/article/details/73836745 近日有同事遇到在编译Maven项目时 ...
- PHP程序员解决问题的能力
这个话题老生长谈了,在面试中必然考核的能力中,我个人认为解决问题能力是排第一位的,比学习能力优先级更高.解决问题的能力既能看出程序员的思维能力,应变能力,探索能力等,又可以看出他的经验.如果解决问题能 ...
- 细说flush、ob_flush的区别
ob_flush/flush在手册中的描述, 都是刷新输出缓冲区, 并且还需要配套使用, 所以会导致很多人迷惑… 其实, 他们俩的操作对象不同, 有些情况下, flush根本不做什么事情.. ob_* ...
- 【Java每日一题】20170327
20170324问题解析请点击今日问题下方的“[Java每日一题]20170327”查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; public cla ...
- Laravel 系列入门教程(五)【最适合中国人的 Laravel 教程】
本文是本系列教程的完结篇,我们将一起给 Article 加入评论功能,让游客在前台页面可以查看.提交.回复评论,并完成后台评论管理功能,可以删除.编辑评论.Article 和评论将使用 Laravel ...