訊號與槽的關係就像是,嗯,比如,老師說下課了(發出訊號),然後同學a睡覺(接收下課訊號,執行睡覺的槽函式),同學b去上廁所(接收下課訊號,執行上廁所的槽函式)
然後有乙個觀察者與被觀察者的概念,上面的例子中,老師是被觀察者,學生是觀察者,被觀察者發出訊號,觀察者接收並執行相應的函式,在qt中很多類都有內建訊號比如qpushbutton有clicked,pressed訊號,訊號是函式,只是它不用實現,只要宣告一下就行了,也有內建的槽函式,比如widget有最大化,最小化的槽函式,接下來問題來了,當訊號被發出時,有哪些槽函式會被執行,這裡涉及訊號與槽的關聯問題,qt中利用connect函式將乙個訊號與槽關聯,引數等會講。
隨便講一下c++11的一些新特性
這坨東西返回乙個函式名,可以在後面加乙個()呼叫,或者前面加乙個函式指標接收,lamda表示式的優勢是可以在函式內定義。
#include
"widget.h"
#include
#include
widget::
widget
(qwidget *parent)
:qwidget
(parent));
void
(*p)()
; p=
()->
void
;//用函式指標接收
**按照上面順序排(不過沒有main.cpp)
上面的**主要是為了**訊號與槽的過載函式的使用
03Qt訊號與槽(2)
1.元物件工具 元物件編譯器 moc meta object compiler 對 c 檔案中的類宣告進行分析並產生用於初始化元物件的 c 元物件包含全部訊號和槽的名字及指向這些函式的指標。moc 讀 c 原始檔,如果發現有 q object 巨集宣告的類,它就會生成另外乙個 c 原始檔,這個新生成...
qt 槽與訊號
槽就是乙個可以被呼叫處理特定訊號的函式 乙個小的qt類如下 class foo public qobject public slots void setvalue int signals void valuechanged int private int val qt中的元物件系統是用來處理物件間通...
QT訊號與槽
初學qt,覺得理解qt訊號與槽比較重要,qt很多時候都需要用到訊號和槽。發射訊號會觸發相對應的槽函式的執行。乙個訊號可以對應多個槽,多個訊號可以對應乙個槽。訊號和槽是通過connect這個方法進行建立聯絡的。qt中有些類會自帶有一些訊號和槽函式,當然訊號和槽函式也可以自己定義。下面來看下很簡單的 會...