这个学期选了计算机学院的《数字图像处理》,正好和我的图像识别项目有所关联,老师说不能用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日