class Widget : public QWidget { Q_OBJECTpublic: Widget(QWidget *parent = 0);private slots: void add();private: QGridLayout *m_Lt; int m_I;};
Widget::Widget(QWidget *parent):QWidget(parent) { m_I = 1; QPushButton *addBtn = new QPushButton(tr("Add"), this); m_Lt = new QGridLayout(this); m_Lt->addWidget(addBtn, 0, 0, 1, 2); connect(addBtn, SIGNAL(clicked()), SLOT(add()));}void Widget::add() { QLineEdit *le = new QLineEdit(this); QPushButton *btn = new QPushButton(tr("Remove"), this); m_Lt->addWidget(le, m_I, 0); m_Lt->addWidget(btn, m_I++, 1); connect(btn, SIGNAL(clicked()), le, SLOT(deleteLater())); connect(btn, SIGNAL(clicked()), btn, SLOT(deleteLater()));}