Qt中的槽
Qt中的槽
(1)槽是普通的 C++ 成員函數,可以被正常調用,它們唯一的特殊性就是很多信號可以與其相關聯。當與其關聯的信號被發射時,這個槽就會被調用。槽可以有參數,但槽的參數不能有缺省值。
(2)既然槽是普通的成員函數,因此與其它的函數一樣,它們也有存取權限。槽的存取權限決定了誰能夠與其相關聯。同普通的 C++ 成員函數一樣,槽函數也分為三種類型,
即 public slots、private slots 和 protected slots。
public slots:在這個區內聲明的槽意味著任何對象都可將信號與之相連接。這對于組件編程非常有用,你可以創建彼此互不了解的對象,將它們的信號與槽進行連接以便信息能夠正確的傳遞。
protected slots:在這個區內聲明的槽意味著當前類及其子類可以將信號與之相連接。這適用于那些槽,它們是類實現的一部分,但是其界面接口卻面向外部。
private slots:在這個區內聲明的槽意味著只有類自己可以將信號與之相連接。這適用于聯系非常緊密的類。
(4)槽也能夠聲明為虛函數,這也是非常有用的。
(5)槽的聲明也是在頭文件中進行的。例如,下面聲明了三個槽:
? ? ? public slots:?
void mySlot();?
void mySlot(int x);?
void mySignalParam(int x,int y);
(6)如果一個類要使用信號/槽功能,就必須在其中聲明Q_OBJECT.
class client : public QWidget
{
? ? Q_OBJECT ?//在Qt中,如果一個類要使用信號/槽功能,就必須在其中聲明Q_OBJECT
public:
private:
private slots:
};
(1)槽是普通的 C++ 成員函數,可以被正常調用,它們唯一的特殊性就是很多信號可以與其相關聯。當與其關聯的信號被發射時,這個槽就會被調用。槽可以有參數,但槽的參數不能有缺省值。
(2)既然槽是普通的成員函數,因此與其它的函數一樣,它們也有存取權限。槽的存取權限決定了誰能夠與其相關聯。同普通的 C++ 成員函數一樣,槽函數也分為三種類型,
即 public slots、private slots 和 protected slots。
public slots:在這個區內聲明的槽意味著任何對象都可將信號與之相連接。這對于組件編程非常有用,你可以創建彼此互不了解的對象,將它們的信號與槽進行連接以便信息能夠正確的傳遞。
protected slots:在這個區內聲明的槽意味著當前類及其子類可以將信號與之相連接。這適用于那些槽,它們是類實現的一部分,但是其界面接口卻面向外部。
private slots:在這個區內聲明的槽意味著只有類自己可以將信號與之相連接。這適用于聯系非常緊密的類。
(4)槽也能夠聲明為虛函數,這也是非常有用的。
(5)槽的聲明也是在頭文件中進行的。例如,下面聲明了三個槽:
? ? ? public slots:?
void mySlot();?
void mySlot(int x);?
void mySignalParam(int x,int y);
(6)如果一個類要使用信號/槽功能,就必須在其中聲明Q_OBJECT.
class client : public QWidget
{
? ? Q_OBJECT ?//在Qt中,如果一個類要使用信號/槽功能,就必須在其中聲明Q_OBJECT
public:
private:
private slots:
};
總結
- 上一篇: linux网络编程二:基础socket,
- 下一篇: Qt中Ui的使用