QT-入門第一天總結

本文將分爲6個部分總結

其實是從第一天的6個案例總結

01—------

  建議學習QT前有一定的面向對象編程基礎,無論是C++或者JAVA,因爲QT是用C++編程,如果沒有一定基礎理解起來會比較困難。

  

上面是新建的一個工程文件,其中mywidget是默認是窗口基類,會自動創建好。如果你在項目創建中選擇QWidget

先看Main函數,

這是Main函數的一個模板,在運行到MyWidget w的時候,會跳去運行MyWidget構造函數

對show()需要人爲的顯示,如果後面控件,部件多了,指定父對象,那麼只要父對象顯示就可以

在後期編程也是在構造函數中編寫程序,對於頭文件我沒什麼瞭解,不做總結

02-----------

編寫第一個Hello World程序

在寫的過程,主要運用到label標籤的setText屬性,重點是掌握到,指定父對象的兩種方式:

  1. setParent  
  2. 通過構造函數傳參  
  3.  

03----------

學習QT的第一個重點

信號與槽

信號相當於信息,而槽就是接受信息並做出處理的東西,可以理解爲接受信息的手機

這就是一個信號與槽的一個案例,注意4個參數都是指針類型,其中pressed是信號名字,不同的類可能有不同的信號觸發模式或者名字。

而close是處理信號的槽函數

但是這樣寫過於麻煩,需要在頭文件中聲明函數,又需要定義函數,在c++11當中引入了Lambda表達式

需要注意的是[],在函數體內不能夠引用外部的變量或者成員,需要加入=,this或者其他,這個表達式在後期也會很常用

還有一個重點就是信號

這個圖片是我的一個案例,兩個窗口互相切換,其中的信號與槽的一個邏輯,注意的是子窗口到父窗口的切換,父窗口切換到子窗口可以直接按鈕信號發出,槽函數處理show hide。但是子窗口不可以,因爲他沒有包含父窗口這個類,所以只可以由按鈕觸發信號,給子窗口處理髮射信號給父窗口,父窗口再處理

還學習到的是字符串打印,用str.toUtf8().data()

 

04----

主要介紹QT座標系統,以及內存資源問題

需要注意的是系統自動釋放是再所有程序運行完畢並停止的時候纔會釋放,這個時候如果不停的NEW也會導致內存不足

 

05----

對菜單欄,對話框,浮動窗口等等的一個應用。

QMenuBar  菜單欄

QMenu  菜單

QAction  下拉菜單

QToolBar 工具欄

QStatusBar 狀態欄

QDockWidget 浮動窗口

QTextEdit 文本編輯

 

--06

QMessageBox 對話框 

QFileDialog 文件資源

不寫了哈哈哈哈

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章