• 3952阅读
  • 1回复

关于多个QPushButton的问题: [复制链接]

上一主题 下一主题
离线reebook
 

只看楼主 倒序阅读 楼主  发表于: 2009-06-20
关于QPushButton的问题:

我现在有a个数目的QPushButton

for( i = 0; i < a; i++ )
{
   pbArray(i)=new QPushButton(this);
   pbArray(i)->setGeometry( x, y+(d+h)*i, w, h );
   pbArray(i)->setButtonText( trUtf8(*names->at(i)));
}

现在我想点击不同的Button以获取相对应的Button数目值(例如上面的 i 值)

如何编写Connect函数?

方法一:
    for(g=0;g<count;g++)
    {
        connect(pbArray[g],SIGNAL(clicked()),this,SLOT(SLOT_Push(g)));
    }

                     void SL OT_Push(int i)
                     {
                           cout<<i<<endl;
                     }


方法2:  把所有的Button添加到一个QButtonGroup里……


请问:方法1可行吗?  如果方法2可以实现,connect函数要如何编写?SLOT函数要如何编写?

新手来的,大家帮帮忙
[ 此帖被reebook在2009-06-20 10:05重新编辑 ]
离线shiroki

只看该作者 1楼 发表于: 2009-06-22
方法1不行。 clicked信号没有参数。 但可以在槽函数里调用 sender获得button的指针, 再和你array里存的指针比较一下获得下标。
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
快速回复
限100 字节
 
上一个 下一个