簡體   English   中英

C ++中的QLineEdit Qt刪除了QLineEdit

[英]QLineEdit Qt in c++ removing QLineEdit

我正在嘗試在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 我必須使用這個名字嗎? 例如LineEdit_4。 我找到了一個小部件函數removewidget,我可以使用它嗎?

有沒有一種方法可以更輕松地顯示這些小部件? 現在,我只是制作矩形,並使用計數器將它們放置在彼此之間。

為什么不使用例如QTableWidget 您可以從中添加/刪除行(如果需要,還可以添加或刪除列)。 然后使用setCellWidget函數將QLineEdit添加到單元格中。

您可能有一個按鈕來添加新行。 您可能有一個按鈕可以刪除表中的選定行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM