我正在尝试用Qt制作一个地址簿,我使用了以下代码:
#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()
{
}正如你在第二个函数pushbutton_2_clicked中看到的,我还没有放入任何东西。程序的工作原理是这样的:每次我按下一个按钮(第一个函数),它都会添加一个QLineEdit。然后它会在ui上显示它。另外,我每次都会创建一个新的QLineEdit,并将其向下移动一点,这样我就可以得到一个列表。Voornaam、achternaam和adress只是我想在程序中输入这些QLineEdit的信息的名称。
我现在想做的是删除这些QLineEdit,但我不知道怎么做,我已经在互联网上搜索过了,但我找不到示例。因此,我想删除这些以前创建的QLineEdit%s。我必须使用该名称吗?例如,LineEdit_4。我发现了一个widget函数removewidget,我需要使用它吗?
有没有一种更容易显示这些小部件的方法?现在,我只是制作矩形,并使用计数器将它们放在彼此的下方。
发布于 2015-06-20 19:21:57
例如,您为什么不使用QTableWidget。您可以在其中添加/删除行(如果愿意,还可以添加/删除列)。并使用setCellWidget函数将QLineEdit添加到单元格中。
您可以使用一个按钮来添加新行。您可以使用一个按钮从表中删除选定的行。
https://stackoverflow.com/questions/30952875
复制相似问题