我正在創建應在桌面和某些移動平臺上工作的應用程序。拖動單選按鈕執行操作但未設置檢查
以下示例在釋放信號上創建並將組中的縱向/橫向按鈕連接到插槽。
m_landscapeRadio = new QRadioButton(QObject::tr("Landscape "));
m_portraitRadio = new QRadioButton(QObject::tr("Portrait "));
m_orientationGroup.addButton(m_landscapeRadio, 0);
m_orientationGroup.addButton(m_portraitRadio, 1);
m_orientationGroup.setExclusive(true);
m_landscapeRadio->setChecked(true);
connect(&m_orientationGroup, SIGNAL(buttonReleased(int)), this, SLOT(orientationSlot(int)));
但是我發現一個奇怪的情況:
假設景觀按鈕被選中。如果我按下並拖離肖像單選按鈕,則會執行插槽動作(對於肖像選項),但不勾選肖像按鈕。
我想不要執行該操作。
現在...
在orientationSlot
我測試參數和設定值檢查自己......雖然我真的很期待的按鈕知道這樣做自己。
但我認爲用戶更期望的是,如果按下按鈕並改變主意,能夠拖離按鈕而不執行動作。
由於可以通過代碼設置按鈕,我避免了切換()信號。 – Thalia
我已添加按鈕組示例。您需要以某種方式識別單個按鈕。也許使用text()方法。 – AlexanderVX
謝謝 - 我只是想通了,我可以比較組與該按鈕發送的值,看看它是否確實檢查。如果沒有,我會放棄行動。它帶有很多按鈕的按鈕組變得很難看...... – Thalia