• 5009阅读
  • 5回复

按钮信号槽的问题 [复制链接]

上一主题 下一主题
离线soyeon
 
只看楼主 倒序阅读 楼主  发表于: 2007-09-07
— 本帖被 XChinux 执行加亮操作(2007-09-10) —
先已经有好多按钮,并且把他们分别存储在一个数组里头,

for(int i=0;i<10;i++)
connect(button,SIGNAL(clicked()),this,SLOT(setEstInput()));
但是这个说button(i)这个对象不存在,有没有好的解决办法呢,我是想先生成好多按钮,然后对应不同的按钮有自己的信号槽。
connect(button,SIGNAL(clicked()),this,SLOT(setEstInput(i)));
好像这个也不对,我知道肯定是哪里出问题了,可是找不到解决办法。。
离线turkeysy

只看该作者 1楼 发表于: 2007-09-09
我怎么可以呀? 不知道你是怎么做的?
首先声明一个QPushButton数组,存放生成的button;
然后可以以次连接到你想要连接的SLOT上.
如下代码:
        QPushButton *mypushButton[2];
   
        for(int i = 0 ;i<2;i++)
        {
            mypushButton = new QPushButton();
            mypushButton->setParent(this);
            mypushButton->setGeometry(0,i*100,50,50);
            mypushButton->setText("mybutton");
            mypushButton->show();
                                                            //  connect(mypushButton,SIGNAL(clicked()),this,SLOT(Myslots1()));直接写在这儿也可以
        }
//通过for循环,实现connect;
        for(int i = 0 ;i<2;i++)
    connect(mypushButton,SIGNAL(clicked()),this,SLOT(Myslots1()));
离线turkeysy

只看该作者 2楼 发表于: 2007-09-09
[ i ]怎么不能显示?
离线XChinux

只看该作者 3楼 发表于: 2007-09-09
将wind code关闭了。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线turkeysy

只看该作者 4楼 发表于: 2007-09-09
        QPushButton **mypushButton;
        mypushButton = new QPushButton*[2];

    for(int i = 0 ;i<2;i++)
        {
            mypushButton[i] = new QPushButton();
            mypushButton[i]->setParent(this);
            mypushButton[i]->setGeometry(0,i*100,50,50);
            mypushButton[i]->setText("mybutton");
            mypushButton[i]->show();
            //connect(mypushButton[i],SIGNAL(clicked()),this,SLOT(Myslots1()));直接写在这儿也可以
        }
    //通过for循环,实现connect;
    for(int i = 0 ;i<2;i++)
    connect(mypushButton[i],SIGNAL(clicked()),this,SLOT(Myslots1()));
离线turkeysy

只看该作者 5楼 发表于: 2007-09-09
果然可以,斑主老牛了,仰视呀,^_^
快速回复
限100 字节
 
上一个 下一个