2017-05-31 29 views
-2

我有一組單選按鈕。這些都連接到同一SLOT(updateImage())Qt的單選按鈕只調用SLOT()按鈕時,實際上是檢查

這裏是他們是如何設置:

connect(m_radio1, SIGNAL(toggled(bool)), this, SLOT(updateImage()); 
connect(m_radio2, SIGNAL(toggled(bool)), this, SLOT(updateImage()); 
connect(m_radio3, SIGNAL(toggled(bool)), this, SLOT(updateImage()); 

當從一個單選按鈕更改爲下一個,這SLOT()是選擇調用兩次,一次用於取消選擇先前選中的單選按鈕,一旦單擊的單選按鈕。

我想知道,有沒有辦法修改我的SLOT()只發生在這些情況之一,當點擊的項目被檢查?

感謝

回答

3

你要求連接到切換信號 - 當對象被觸發,你叫。讓人吃驚的?

您可以連接到「clicked」信號,該信號提供您可以測試的「checked」參數。

順便說一句;如果使用的是現代的Qt版本,你應該溝信號和槽宏,並改用會在編譯時檢查新的連接()語法。

2

由於你的信號有一個布爾參數。

toggled(bool) 

你可以說參數添加到您的SLOT method.Then檢查參數進行檢查。