【发布时间】:2015-06-20 10:21:17
【问题描述】:
我正在尝试在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 和地址只是我想在我的程序中输入这些QLineEdits 的信息的名称。
我现在想做的是删除这些QLineEdit,但我不知道如何,我在互联网上搜索过,但找不到示例。所以我想删除这些以前制作的QLineEdits。我必须使用名称吗?例如 LineEdit_4。我找到了一个widget函数removewidget,我用这个吗?
有没有办法更轻松地显示这些小部件?现在我只是制作矩形并使用柜台将它们放在彼此下方。
【问题讨论】:
-
题外话,但我认为
counter也应该是你班的成员。