我想使用 QLineEdit 编写 QString,然后使用 QPushButton,我想将项目(字符串)添加到 listView
这是我得到的:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
model = new QStringListModel(this);
QStringList list;
list << "Some Item";
model->setStringList(list);
ui->listView->setModel(model);
ui->listView->setEditTriggers(QAbstractItemView::NoEditTriggers);
}
void MainWindow::on_pushButton_3_clicked()
{
//add
int row = model->rowCount(); // model = new QStringListModel
model->insertRow(row);
QModelIndex index = model->index(row);
ui->listView->setCurrentIndex(index);
ui->listView->edit(index); // instead of edit, I'd like to ... add a QString
}
问题是我不想编辑(这是我自己设法做的所有事情)。我现在想在 CurrentIndex 处添加一个项目,并将该项目作为lineEdit
. 我如何访问该字段?是lineEdit->text()
吗?以及如何将其添加到列表视图中?
我根本不知道如何将任何内容添加到列表中。我错误地找到了编辑,谷歌到目前为止还没有帮助。我希望 Stack Overflow 能够并且将会。
编辑:我决定试试这个,但这似乎不是最好的解决方案
void MainWindow::on_pushButton_3_clicked()
{
//add
QStringList list;
list = model->stringList();
list.append(ui->lineEdit->text());
model->setStringList(list);
}
但这似乎是一种奇怪的做事方式。由于某种原因,它似乎还包含一个换行符。