這個學期選了計算機學院的《數字圖像處理》,正好和我的圖像識別項目有所關聯,老師說不能用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日