我正在创建应在桌面和某些移动平台上工作的应用程序。拖动单选按钮执行操作但未设置检查
以下示例在释放信号上创建并将组中的纵向/横向按钮连接到插槽。
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