I'm trying to make an adress book in Qt
and i am using the following code:
#include "mainwindow.h"
#include "ui_mainwindow.h"
int counter = 1;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
QLineEdit* Voornaam = new QLineEdit(this);
Voornaam->setObjectName(QString::fromUtf8("lineEdit_4"));
Voornaam->setGeometry(QRect(10, 65+ 33*counter, 113, 24));
Voornaam->show();
QLineEdit* Achternaam = new QLineEdit(this);
Achternaam->setObjectName(QString::fromUtf8("lineEdit_5"));
Achternaam->setGeometry(QRect(140, 65+ 33*counter, 113, 24));
Achternaam->show();
QLineEdit* Adres = new QLineEdit(this);
Adres->setObjectName(QString::fromUtf8("lineEdit_6"));
Adres->setGeometry(QRect(270, 65+ 33*counter, 113, 24));
Adres->show();
counter+= 1;
}
void MainWindow::on_pushButton_2_clicked()
{
}
As you can see in the second function the pushbutton_2_clicked
i haven't put anything yet.
The program works like this: it adds a QLineEdit
every time I push a button(the first function). Then it displays it on the ui. Also I just make a new QLineEdit
everytime and move it a bit down so I get a list of these.
Voornaam, achternaam and adress are just names for information I want to type in these QLineEdit
s in my program.
What I want to do now is delete these QLineEdit
but i don't know how, I've searched this on the internet but i can't find examples. So I want to delete these previously made QLineEdit
s. Do I have to use the name ? LineEdit_4 for example. I've found a widget function removewidget, do I use this?
Is there a way to easier display these widgets? Now I'm just making rectangles and placing them beneath eachother using the counter.
Why don't you use for example a
QTableWidget
. You can add/remove rows from that (and columns if you like). And you usesetCellWidget
function to addQLineEdit
s into the cells.You could have a button to add a new line. And you could have a button to delete the selected lines from the table.