So entfernen Sie ein Element aus einer Liste Anzeigen?
Ich habe eine QLineEdit, 2 QPushButtons (Add & Entfernen von Schaltflächen) und eine QListView.
Ich möchte hinzufügen, die QLineEdit text der QListView, wenn die hinzufügen-Schaltfläche geklickt wird. Gleiche Weise, ich habe zum löschen eines Elements aus der QListView, wenn Sie auf die Schaltfläche entfernen geklickt wird.
Ich bin mit einem QStringListModel zum hinzufügen von QLineEdit text QListView. Aber ich weiß nicht, wie löschen QListView Element. Wie kann ich dies tun? Plz Helfen.. vielen Dank im Voraus.
#ifndef EXAMPLE_H
#define EXAMPLE_H
#include <QWidget>
#include <QStringList>
#include <QStringListModel>
class EXAMPLE : public QWidget
{
Q_OBJECT
public:
explicit EXAMPLE(QWidget *parent = 0);
~EXAMPLE();
private slots:
void on_addButton_released();
void on_removeButon_released();
private:
Ui::EXAMPLE *ui;
QStringList stringList;
};
#endif //EXAMPLE_H
EXAMPLE.CPP
#include "EXAMPLE.h"
#include <QStringListModel>
EXAMPLE::EXAMPLE(QWidget *parent) :
QWidget(parent),
ui(new Ui::EXAMPLE)
{
ui->setupUi(this);
ui->listView->setModel(new QStringListModel(stringList));
}
EXAMPLE::~EXAMPLE()
{
delete ui;
}
void EXAMPLE::on_addButton_released()
{
stringList.append(ui->lineEdit->text());
((QStringListModel*) ui->listView->model())->setStringList(stringList);
ui->lineEdit->clear();
}
void EXAMPLE::on_removeButon_released()
{
}
- Welches Element soll gelöscht werden, wenn die löschen-Taste gedrückt, wird die aktuelle eine, die Letzte, und einige andere?
- ich wollen, löschen Sie das Element, das aktuell ausgewählt ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn der Listen-Ansicht ist nur über die Einzelauswahl, die folgenden arbeiten:
Wenn der Listen-Ansicht können mehrere Elemente ausgewählt werden, dann müssen Sie etwas komplexer:
Es ist auch ein Mittel, die Elemente entfernen, die direkt aus der Artikel-Modell (im Gegensatz zu dem entfernen aus der string-Liste und dann die Einstellung der string-Liste auf das Modell). Finden Sie in der Dokumentation für QAbstractItemModel::removeRow. Wenn Sie unten gehen diesen Weg, Ihre Methode zum hinzufügen von Elementen müssen auch zu ändern.