51CTO下載-Document_For_QT(doc 40頁)
- 所屬分類:
- 電力行業
- 文件大小:
- 632 KB
- 下載地址:
- 相關資料:
- en
51CTO下載-Document_For_QT內容提要:
第5行定義了一個QApplication對象App。QApplication管理了各種各樣的應用程序的廣泛資源,比如默認的字體和光標。App的創建需要argc和argv是因為Qt支持一些自己的命令行參數。在每一個使用Qt的應用程序中都必須使用一個QApplication對象,並且在任何Qt的窗口係統部件被使用之前創建此對象是必須的。App在這裏被創建並且處理後麵的命令行變量(比如在X窗口下的-display)。請注意,所有被Qt識別的命令行參數都會從argv中被移除(並且argc也因此而減少)。
第6行創建了一個QLabel窗口部件(widget),用來顯示“Hello,Qt!”。在Qt和Unix的術語中,一個窗口部件就是用戶界麵中一個可見的元素,它相當於Windows術語中的“容器”加上“控製器”。按鈕(Button)、菜單(menu)、滾動條(scroll bars)和框架(frame)都是窗口部件的例子。窗口部件可以包含其它的窗口部件。例如,一個應用程序界麵通常就是一個包含了QMenuBar,一些QToolBar,一個QStatusBar和其它的一些部件的窗口。絕大多數應用程序使用一個QMainWindow或者一個QDialog作為程序界麵,但是Qt允許任何窗口部件成為窗口。在這個例子中,QLabel窗口部件就是作為應用程序主窗口的。
第7行使我們創建的QLabel可見。當窗口部件被創建的時候,它總是隱藏的,必須調用show()來使它可見。通過這個特點我們可以在顯示這些窗口部件之前定製它們,這樣就不會出現閃爍的情況。
第8行就是main()將控製權交給Qt。在這裏,程序進入了事件循環。事件循環是一種stand-by的模式,程序會等待用戶的動作(比如按下鼠標或者是鍵盤)。用戶的動作將會產生程序可以做出反應的事件(也被稱為“消息”)。程序對這些事件的反應通常是執行一個或幾個函數。
為了簡單起見,我們沒有在main()函數的結尾處調用delete來刪除QLabel對象。這種內存泄露是無害的,因為像這樣的小程序,在結束時操作係統將會釋放程序占用的內存堆。
下麵我們來編譯這個程序。建立一個名為hello的目錄,在目錄下建立一個名為hello.cpp的c++源文件,將上麵的代碼寫入文件中。
..............................