在QT的槽函數中判斷是哪個發送端發送的信號

有時候我們用多個信號發送端掛接同一個槽信號,而這個槽函數如果要判斷是哪個發送端發送的,這是可能有點困難,因爲這其實違反了面向對象的模塊化原則。

但是QT還是給我們留了一個函數,

[protected] QObject *QObject::sender() const;

簡單用法

void MainWindow::slot_function()
{
    auto reply1 = qobject_cast<QABC *>sender();
    if (reply1 == send1) {
	
    }
    auto reply2 = qobject_cast<QEFG *>sender();
    if (reply2 == send2) {
	
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

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