Try something like that:
mainwindow.h:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
{
Q_OBJECT
public slots:
void addRow( void );
public:
~MainWindow();
private:
};
#endif // MAINWINDOW_H
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
class QVBoxLayout;
class MainWindow : public QMainWindow
{
Q_OBJECT
public slots:
void addRow( void );
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
private:
QVBoxLayout* m_layout;
};
#endif // MAINWINDOW_H
To copy to clipboard, switch view to plain text mode
mainwindow.cpp
#include "mainwindow.h"
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QPushButton>
#include <QLineEdit>
MainWindow
::MainWindow(QWidget *parent
){
connect(add, SIGNAL(clicked()), this, SLOT(addRow()));
m_layout->addWidget(add);
m_layout->setAlignment(Qt::AlignTop);
w->setLayout(m_layout);
this->setCentralWidget(w);
}
MainWindow::~MainWindow()
{
}
void MainWindow::addRow( void )
{
layout->setMargin(0);
layout->addWidget(line);
layout->addWidget(clear);
layout->addWidget(remove);
w->setLayout(layout);
connect(clear, SIGNAL(clicked()), line, SLOT(clear()));
connect(remove, SIGNAL(clicked()), w, SLOT(deleteLater()));
m_layout->addWidget(w);
}
#include "mainwindow.h"
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QPushButton>
#include <QLineEdit>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent),
m_layout( new QVBoxLayout() )
{
QPushButton* add = new QPushButton("Add");
connect(add, SIGNAL(clicked()), this, SLOT(addRow()));
m_layout->addWidget(add);
m_layout->setAlignment(Qt::AlignTop);
QWidget* w = new QWidget();
w->setLayout(m_layout);
this->setCentralWidget(w);
}
MainWindow::~MainWindow()
{
}
void MainWindow::addRow( void )
{
QLineEdit* line = new QLineEdit();
QPushButton* clear = new QPushButton("Clear");
QPushButton* remove = new QPushButton("Remove");
QHBoxLayout* layout = new QHBoxLayout();
layout->setMargin(0);
layout->addWidget(line);
layout->addWidget(clear);
layout->addWidget(remove);
QWidget* w = new QWidget();
w->setLayout(layout);
connect(clear, SIGNAL(clicked()), line, SLOT(clear()));
connect(remove, SIGNAL(clicked()), w, SLOT(deleteLater()));
m_layout->addWidget(w);
}
To copy to clipboard, switch view to plain text mode
It should work exacly as you want it.
Bookmarks