当前位置: 代码迷 >> QT开发 >> 每个widget有个删除按钮,widget个数不定,如何实现点击按钮,删除所对应的widget
  详细解决方案

每个widget有个删除按钮,widget个数不定,如何实现点击按钮,删除所对应的widget

热度:397   发布时间:2016-04-25 02:52:21.0
每个widget有个删除按钮,widget个数不定,怎么实现点击按钮,删除所对应的widget
本帖最后由 xinyu029 于 2015-10-09 17:15:32 编辑
下图中每个灰色区域是一个widget   点击“-”  删掉所对在的灰色Widget区域(可能有不定多个这样的widget)

比如点击edit为1后面的“-”按钮  就删掉1所在的widget
我的想法是如下

QList<QWidget*> wdgtList

void addWidget(){ 
QWidget *w = new QWidget();
QPushButton *btn = new QPushButton();
       //label     lineedit   添加
w->addWidget(btn);
connect(btn, SIGNAL(pressed()), this, SLOT(slotbtn()));
wdgtList.append(w);
}

void  slotbtn(){
该btn所对应的widget删除
}

但是,问题:怎么找到btn所属widget在wdgtList的下标index

或者还有什么更好的实现方法吗?
------解决思路----------------------
方法一、用QSignalMapper可以,看下Qt帮助文档就会了
方法二、删除button对应的父widget就好了。想在槽里获取点击的button,通过sender();获取再转换一下
  相关解决方案