QActionGroup - setExclusive(互斥)

QActionGroup类将actions分组,默认情况下是互斥状态,在同一时刻所有这些actions只能有一个被激活。

pActionGroup = new QActionGroup(this);
pActionGroup ->addAction(leftAlignAct);
pActionGroup ->addAction(rightAlignAct);
pActionGroup ->addAction(justifyAct);
pActionGroup ->addAction(centerAct);

当组内的某个action被选中的时候,QActionGroup就会发射triggered()信号。通常情况下,组内的每个action发射自己的triggered()信号。

如果创建一个action group而不想使actions是互斥关系,那么你可以通过调用setExclusive(false)来关闭互斥关系。

可以通过在group中添加分割线使得各个action分开显示,可以使用QAction的setSeparator()添加分割线。

one=new QAction("one",this);
two=new QAction("two",this);
three=new QAction("three",this);
one->setCheckable(true);//支持checkable
two->setCheckable(true);
three->setCheckable(true);
QMenu *file=ui->menuBar->addMenu("&File");
group=new QActionGroup(this);
file->addAction(group->addAction(one));
file->addAction(group->addAction(two));
file->addAction(group->addAction(three));
group->setExclusive(true);//设置互斥属性
one->setChecked(true);//默认选one

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值