我正在创建一个可以在桌面和一些移动平台上运行的应用程序。
以下示例在释放信号上创建一组纵向/横向按钮并将其连接到插槽。
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
我测试参数并自己设置检查值......虽然我真的希望按钮知道自己这样做。
但我认为用户更期望的是,如果按下按钮并改变主意,能够拖离按钮而不执行操作。