QT中信号和槽的简单解释
代碼見:
https://blog.csdn.net/cloud323/article/details/82192241
思想介紹為:
一.信號
當對象的內部狀態發生改變,信號就被發射。只有定義了一個信號的類和它的子類才能發射這個信號。
信號的聲明是在頭文件中進行的,QT的signals關鍵字指出進入了信號聲明區,隨后即可聲明自己的信號。信號由moc自動生成,所以不需要在cpp中定義,只需要聲明。
二.槽
槽是普通的 C++ 成員函數,可以被正常調用,它們唯一的特殊性就是很多信號可以與其相關聯。當與其關聯的信號被發射時,這個槽就會被調用。槽可以有參數,但槽的參數不能有缺省值。
槽函數分為三種類型,即 public slots、private slots 和 protected slots。
public slots:在這個區內聲明的槽意味著任何對象都可將信號與之相連接。
protected slots:在這個區內聲明的槽意味著當前類及其子類可以將信號與之相連接。
private slots:在這個區內聲明的槽意味著只有類自己可以將信號與之相連接。
三.信號與槽的使用
通過調用connect 函數來將某個對象的信號與另外一個對象的槽函數相關聯,這樣當發射者發射信號時,接收者的槽函數將被調用。
1)一個信號可以連接到多個槽。
2)一個槽可以被多個信號連接。
3)信號也可以連接到信號,此時前者的發射信號將導致后者的發射。
4)信號的參數類型可以與槽的參數類型對應,信號的參數可以比槽的參數多,但不可以少,否則連接將失敗。
轉載自:
作者:zhu1371884551
來源:CSDN
原文:https://blog.csdn.net/zhu1371884551/article/details/80782605
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
總結
以上是生活随笔為你收集整理的QT中信号和槽的简单解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [FPGA]基于FPGA的数字跑表
- 下一篇: C++开源项目