我想设置一组快捷键,思路是这样的:定义一个整形数据i,根据i的大小程序在运行过程中,自己产生i个快捷键。分别是从“ctrl+1”到“ctrl+i”。具体程序如下:
QActionGroup *actionGroup;
int i=6;
for(int j=1;j<=6;j++){
QString str;
str="Ctrl+"+str.setNum(i);
QAction *newAction=new QAction(this);
newAction->setAccel(str);
actionGroup->add(newAction);
}
connect(actionGroup,SIGNAL(selected(QAction *)),
this,SLOT(newSlot(QAction *)));
但是有个问题,就是newAction这个变量,在这六次循环中都是用的同一个变量名,是不是后来的都把前面的覆盖了?只有“ctrl+6”才有用?而且,相应的槽newSlot(QAction *)是根据newAction这个变量名的不同来执行不同内容的,我这个思路却不能够实现newSlot。是不是,也能让newAction这个变量也能够自动按规律定义六个不同的变量名呢?