• 7739阅读
  • 1回复

利用QT设置一组快捷键的问题 [复制链接]

上一主题 下一主题
离线wei28liang90
 

只看楼主 倒序阅读 楼主  发表于: 2010-05-02
我想设置一组快捷键,思路是这样的:定义一个整形数据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这个变量也能够自动按规律定义六个不同的变量名呢?
离线tana

只看该作者 1楼 发表于: 2010-11-19
在 for 循环里面定义 变量 ,槽函数连接也在for 里面就可以了
快速回复
限100 字节
 
上一个 下一个