这个学期选了计算机学院的《数字图像处理》,正好和我的图像识别项目有所关联,老师说不能用MATLAB来做,这让我一个没学过C++的孩纸欲哭无泪。只好自学C++。大佬给我推荐了QT creator,之前只用过VS,所以就尝试着。

下载链接:

http://mirrors.ustc.edu.cn/qtproject/archive/qt/5.7/5.7.0/qt-opensource-windows-x86-android-5.7.0.exe

感谢计算机学院的老铁给我提供QTcreator 社区版的镜像下载链接,然后我就开始了苦逼的下载过程,QT很小。只有一个G,安装也没花费多少功夫,直接默认安装,全选就行。

第一次写C++程序,QTcreator看起来小巧玲珑,比VS显得轻快点,风格不一样。

安装好了之后,用QTcreator创建一个工程。

点击左上角文件-->新建项目-->Qt Widgets Application-->可见下面这张图:

创建路径,之后全都默认默认,下一步下一步。

然后就可以在main.cpp里面写代码。

我写的是个经典代码:输出“Hello World!”

下面是我期间遇到的问题:

问题一:Qt creator 编译错误 :cannot find file .pro qt

原因:QT Creator对大于带有两个空格的目录中文命名的目录不支持。

解决方法:修改文件夹名称,熟悉英文环境。

问题二:setGeometry: Unable to set geometry 72x12+363+124 on QWidgetWindow/'QLabelClassWindow'. Resulting geometry: 120x12+363+124 (frame: 8, 31, 8, 8, custom margin: 0, 0, 0, 0, minimum size: 0x0, maximum size: 16777215x16777215).

原因;在QT中写QLabel时,如果没有规定输出界面的大小就会报此错误(应该是警告)。

采用第一段代码时:

#include "mainwindow.h"
#include <QApplication>
#include <QLabel> int main(int argc, char *argv[])
{
QApplication app(argc, argv); QLabel label("Hello, world");
label.show(); return app.exec();
}

输出效果是一个很小很小的方块,如下:

然后我修改了代码,也基本上猜测了QLabel的意义,是可以定义一种变量的。

#include "mainwindow.h"
#include <QApplication>
#include <QLabel> int main(int argc, char *argv[])
{
QApplication app(argc, argv); QLabel *label=new QLabel("Hello, world");
label->setGeometry(200,200,200,200);
label->show(); return app.exec();
}

这段代码就是选择定义了一个label,然后对label对象的内容进行设定。输出框就变大了。

C++,我来了。

2017年9月7日

QT creator编程C++第一步,说“Hello world!”的更多相关文章

  1. UE4蓝图编程的第一步

    认识UE4蓝图中颜色与变量类型: UE4中各个颜色对应着不同的变量,连接点和连线的颜色都在表示此处是什么类型的变量.对于初学者来说一开始看到那么多连接点, 可能会很茫然,搞不清还怎么连,如果知道了颜色 ...

  2. Rx编程的第一步是将native对象转换为monad对象

    Rx编程的第一步是将native对象转换为monad对象 将基础类型转换为高阶类型,以便使用函数式编程的特性.

  3. Android注解编程的第一步---模仿ButterKnife的ViewBinder机制

    ButterKnife的使用极大方便了Android程序员的开发,实际上,我们可以自己模仿一下实现. 首先就是要了解Java注解的使用. 我们首先要声明一个@interface,也就是注解类: @Ta ...

  4. Qt 学习第一步 做计划和确定目标

    接下来開始一步步深入学习Qt. 学习的第一步是整理资料,也就是找书和sample. 逛了一些论坛,推荐以下3本书 1> C++ GUI programming with Qt 4(2nd Edi ...

  5. Qt 第一步,环境搭建与测试

    晚上离散数学课下课后就开始安装Qt. 最先安装的是5.2版本的,这个最新的版本集成了所有必须的工具,不需要配置,直接就可以运行的. 但是,看书和社区教程以及参考资料时候,发现大多是4.8版本的.于是, ...

  6. 为什么qt成为c++界面编程的第一选择

    为什么qt成为c++界面编程的第一选择 一.前言 为什么现在QT越来越成为界面编程的第一选择,笔者从事qt界面编程已经有接近8年,在这之前我做C++界面都是基于MFC,也做过5年左右.当时为什么会从M ...

  7. Python 编程第一步

    Python  编程第一步 在前面的教程中我们已经学习了一些 Python3 的基本语法知识,下面我们尝试来写一个斐波纳契数列. # Fibonacci series: 斐波纳契数列 # 两个元素的总 ...

  8. python012 Python3 编程第一步

    Python3 编程第一步在前面的教程中我们已经学习了一些 Python3 的基本语法知识,下面我们尝试来写一个斐波纳契数列.实例如下: #!/usr/bin/python3 # Fibonacci ...

  9. 为什么 qt 成为 c++ 界面编程的第一选择?

    为什么qt成为c++界面编程的第一选择 一.前言 为什么现在QT越来越成为界面编程的第一选择,笔者从事qt界面编程已经有接近8年,在这之前我做C++界面都是基于MFC,也做过5年左右.当时为什么会从M ...

随机推荐

  1. Java以及PHP安装环境

    开学前想把web的知识系统掌握一下,跟着极客学院学html5. 安装了intellij idead.xampp.jdk.eclipse for php. 下面列举一些安装过程中会出现的问题,以及解决. ...

  2. Django中ORM模型总结(一)[概述,查询语句]

    理解ORM框架 概述 O:(objects)->类和对象. R:(Relation)->关系,关系数据库中的表格. M:(Mapping)->映射. 作用: 可以通过类和类对象就可以 ...

  3. vue使用之剑走偏锋——菜单组件篇

    背景 习惯了这样的写法了,上来先来一个背景,交待一下事情的起因.事情的起因很简单,用惯了mvc框架,想来一发前后端完全分离的框架试试.选用的人员和技术是这样子的,让原本做java的web开发的人员使用 ...

  4. 基于.net的微服务架构的开发测试环境运维实践

    眼下,做互联网应用,最火的架构是微服务,最热的研发管理就是DevOps, 没有之一.微服务.DevOps已经被大量应用,它们已经像传说中的那样,可以无所不能.特来电云平台,通过近两年多的实践,发现完全 ...

  5. [补档][NOI 2008]假面舞会

    [NOI 2008]假面舞会 题目 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会.今年的面具都是主办方特别定制的.每个参加舞会的人都可以在入场时选择一个自己喜欢的面具. 每个面具都有一 ...

  6. OWASP 之 HTML Injection

    Summary HTML injection is a type of injection issue that occurs when a user is able to control an in ...

  7. 是什么让javascript变得如此奇妙

    What Makes Javascript Weird...and AWESOME -> First Class Functions -> Event-Driven Evironment ...

  8. 移动Web学习笔记(第1天)-bootstrap框架的使用

    移动web前言 移动web : 移动端手机浏览器或者微信里面浏览的网页 移动APP : 手机上需要下载安装的应用程序 1. 移动web介绍 1.1 3 天 响应式开发 一套代码运行多个终端 优点:开发 ...

  9. 搭建hadoop、hdfs环境--ubuntu

    最近在学习hadoop相关知识,就在本机上安装了hadoop,遇到了一些坑,也学到了不少.仅此记录我的安装过程,及可能遇到的问题.供参考.交流沟通见页末. 软件准备 >  虚拟机(VMware) ...

  10. let const 下篇

    1.不存在变量提升 在之前的js代码中,声明一个变量或者是函数,会存在变量提升的现象,也就是说变量可以在声明之前使用,值为undefined: es5: console.log(a); //undef ...