標題: 今日小記 [打印本頁]

作者: heicc    時間: 2015-1-5 16:17
標題: 今日小記
在淘寶上買的三本書,今天到了第一本c++ gui qt4編程,之前一直上網(wǎng)查資料,發(fā)現(xiàn)他們安裝qt開發(fā)環(huán)境異常,而我發(fā)現(xiàn)我當時我安裝的是是一路傻瓜式的下一步。最終我得到的答案是,qt安裝的時候應該下載opensource offline版本,而不是online版本。qt發(fā)行版本分為enterprises的商業(yè)版,和opensource的gpl版本。商業(yè)版是要聯(lián)系dgtal(單詞好像打錯了,忘了)公司通過授權的,正確是要安裝開源版。
我拿到書的第一件事情就是把我筆記本里面win7,fedora,ubuntu的qt enterprises 5.2全卸載,因為時間有限,我只打算在win7下先安裝。我把qt project里面所有的linux x86,linux x64,window x86,window x64的版本都下載了下來。最終我選擇安裝了qt mingw 4.8的版本,安裝的時候出現(xiàn)了要查找mingw gcc編譯器所在的安裝目錄 。度娘說先安裝qt creator里面就會有mingw目錄,我照做但是沒有,可能他們的版本比較老。最后我直接下載安裝了一個mingw。
安裝完畢以后,新建任何工程編譯都通不過,書上沒有提到mingw安裝,查看環(huán)境變量發(fā)現(xiàn)mingw的目錄是錯的,修改后,就全部正確了。qt下利用qt creator,點點控件,稍微寫點代碼就可以實現(xiàn)一個不錯的界面。我開始的時候也以為這樣就夠了。后來我接觸了java,我看java開發(fā)教程的時候,看到里面這樣一句話“利用高級集成開發(fā)環(huán)境,點點畫畫,就可以自動的生成代碼,但不建議初學者使用,因為不利用學習。初學者應該直接在文本下輸入代碼,直接用命令行編譯運行” 。多寫代碼才有利于入門。
我實驗的第一個程序qt_hello:
書寫qt_hello.cpp文件:
#include<QApplication>
#include<QLabel>int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QLabel *label=new QLabel("Hello Qt!");
label->show();
return app.exec();
}
保存:
qmake -project
qmake qt_hello.pro
make        編譯
書上沒有說要切換到debug目錄下。
qt_hello     運行
我實驗的第二個程序 qt_connect:
#include<QApplication>
#include<QPushButton>
int main(int argc,char *argv[])
{QApplication app(argc,argv);
QPushButton *button=new QPushButton("Quit");
QObject::connect(button,SIGNAL(clicked()),
&app,SLOT(quit()));
button->show();
return app.exec();
}
保存;
qmake -project
qmake qt_connect,pro
make  
qt_connect
最后的問題如何發(fā)布程序的問題,寫了半天程序,生成exe執(zhí)行文件,一點缺少文件,運行不了。看了網(wǎng)上許多關于qt程序發(fā)布的問題,感覺很暈。我最終實驗成功的方法是:
把qt安裝目錄下和mingw下的這幾個dll文件復制出來。
最后一步不make,寫make release。然后把這幾個文件復制進release文件夾里。點exe文件就成功了。
繼續(xù)努力,翔哥。
                                                                                                                                                                                                                                                                                                        






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1