Qt_Window@Qt Command Prompt从命令行创建工程
第1 行和第2 行包含了兩個類的定義:QApplication 和QLabel。對于每一個Qt 的類,都會有一個同名的頭文件,頭文件里包含了這個類的定義。因此,你如果在程序中使用了一個類的對象,那么在程序中就必須包括這個頭文件。
第3 行是程序的入口。幾乎在使用Qt 的所有情況下,main()函數(shù)只需要在把控制權(quán)轉(zhuǎn)交給Qt 庫之前執(zhí)行一些初始化,然后Qt 庫通過事件來向程序告知用戶的行為。argc 是命令行變量的數(shù)量,argv 是命令行變量的數(shù)組。這是一個C/C++特征。它不是Qt 專有的,無論如何Qt 需要處理這些變量
第5 行定義了一個QApplication 對象App。QApplication 管理了各種各樣的應(yīng)用程序的廣泛資源,比如默認(rèn)的字體和光標(biāo)。App 的創(chuàng)建需要argc 和argv 是因為Qt 支持一些自己的命令行參數(shù)。在每一個使用Qt 的應(yīng)用程序中都必須使用一個QApplication 對象,并且在任何Qt 的窗口系統(tǒng)部件被使用之前創(chuàng)建此對象是必須的。App 在這里被創(chuàng)建并且處理后面的命令行變量(比如在X 窗口下的-display)。請注意,所有被Qt 識別的命令行參數(shù)都會從argv中被移除(并且argc 也因此而減少)。
第6 行創(chuàng)建了一個QLabel 窗口部件(widget),用來顯示“Hello,Qt!”。在Qt 和Unix的術(shù)語中,一個窗口部件就是用戶界面中一個可見的元素,它相當(dāng)于Windows 術(shù)語中的“容器”加上“控制器”。按鈕(Button)、菜單(menu)、滾動條(scroll bars)和框架(frame)都是窗口部件的例子。窗口部件可以包含其它的窗口部件。例如,一個應(yīng)用程序界面通常就是一個包含了QMenuBar,一些QToolBar,一個QStatusBar 和其它的一些部件的窗口。絕大多數(shù)應(yīng)用程序使用一個QMainWindow 或者一個QDialog 作為程序界面,但是Qt 允許任何窗口部件成為窗口。在這個例子中,QLabel 窗口部件就是作為應(yīng)用程序主窗口的。
第7 行使我們創(chuàng)建的QLabel 可見。當(dāng)窗口部件被創(chuàng)建的時候,它總是隱藏的,必須調(diào)用show()來使它可見。通過這個特點我們可以在顯示這些窗口部件之前定制它們,這樣就不會出現(xiàn)閃爍的情況。
第8 行就是main()將控制權(quán)交給Qt。在這里,程序進(jìn)入了事件循環(huán)。事件循環(huán)是一種stand-by 的模式,程序會等待用戶的動作(比如按下鼠標(biāo)或者是鍵盤)。用戶的動作將會產(chǎn)生程序可以做出反應(yīng)的事件(也被稱為“消息”)。程序?qū)@些事件的反應(yīng)通常是執(zhí)行一個或幾個函數(shù)。
為了簡單起見,我們沒有在main()函數(shù)的結(jié)尾處調(diào)用delete 來刪除QLabel 對象。這種內(nèi)存泄露是無害的,因為像這樣的小程序,在結(jié)束時操作系統(tǒng)將會釋放程序占用的內(nèi)存堆。
?
Qt Command Prompt從命令行創(chuàng)建工程步驟:
源碼->工程-> Makefile->可執(zhí)行程序
下面我們來編譯這個程序。建立一個名為hello 的目錄,在目錄下建立一個名為hello.cpp的c++源文件,將上面的代碼寫入文件中。
打開Qt Command Prompt;
在命令行模式下,切換目錄到hello 下,然后輸入命令:qmake –project。這個命令將產(chǎn)生一個依賴于工作平臺的工程文件(hello.pro);
再輸入命令:qmake hello.pro。這個命令通過工程文件產(chǎn)生一個可以在特定工作平臺上使用的makefile;
最后輸入命令:make 來產(chǎn)生應(yīng)用程序;
運行這個程序,可以得到如下的程序界面。
轉(zhuǎn)載于:https://www.cnblogs.com/kwseeker-bolgs/p/4558814.html
總結(jié)
以上是生活随笔為你收集整理的Qt_Window@Qt Command Prompt从命令行创建工程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【每日scrum】NO.5
- 下一篇: spring+log4j