Qt 信號槽
1.信號槽是啥~~ 尤其是和 Linux 中的信號進行了對比(三要素)
????????1) 信號源
????????2) 信號的類型
????????3)信號的處理方式
2.信號槽 使用
connect
3.如何查閱文檔.
一個控件,內置了哪些信號,信號都是何時觸發
一個控件,內置了哪些槽,槽都是什么作用.
很有可能需要的信號槽,還得到這個類的父類/爺爺類/祖宗類去進行查詢~~
4.自定義槽函數
本質上就是自定義一個普通的成員函數
還可以讓 Qt Creator 自動生成.(雖然沒有顯式 connect,但是可以通過函數名字特定規則來完成自動連接)
怎么方便怎么來,怎么快速怎么來~
5自定義信號.
信號本質就是成員函數.(函數的定義是 Qt 自己生成的,咱們只需要寫函數聲明)
signals: 自定義關鍵字中
emit 來完成信號的發射 (emit 也可以省略)
6.信號和槽還可以帶有參數
發射信號的時候,把參數傳遞給對應的槽.
信號的參數和槽的參數要一致~~
????????1) 類型匹配
????????2)個數,信號的參數要多于槽的參數
7.信號槽存在的意義
解耦合
多對多效果.(非常類似于 mysql 中的多對多的)
演示了信號槽多對多連接的情況~~
高耦合:一個模塊對另一個模塊影響很大
低耦合:一個模塊對另一個模塊影響很小
高內聚:寫代碼的時候某個功能點的代碼都被集中放在一起了~~
低內聚:寫代碼的時候,實現某個功能點,圍繞這個功能的相關代碼被放到整個項目的各個地方
8.disconnect 使用方式
9.lambda 表達式,簡化槽函數的定義
像 Qt 這樣的框架,里面涉及到的很多機制
和 編程語言/數據結構/操作系統/網絡/數據庫 基礎知識 有關聯關系的.
很多面試 Qt 的題目,也是和上述 C++,數據結構,系統網絡基礎知識是相關的