我有一个QListView _listView
谁的模型是QStringListModel _model
,谁QStringList
是_locations
。这是代码:
_locations << "Sarajevo" << "Tesanj" << "Graz";
_model = new QStringListModel(this);
_model->setStringList(_locations);
_listView = new QListView(this);
_listView->setModel(_model);
_listView->setEditTriggers(
QAbstractItemView::EditTrigger::DoubleClicked |
QAbstractItemView::EditTrigger::AnyKeyPressed);
和编辑的插槽_listView
:
void Dialog_EditLocations::onKey_del()
{
QModelIndex _index;
_index = _listView->currentIndex();
_model->removeRow(_index.row());
}
void Dialog_EditLocations::onClick_add()
{
if (_edAddLocation->text() == "") return;
int row = _model->rowCount();
_model->insertRow(row);
QModelIndex _index;
_index = _model->index(row);
_model->setData(_index, _edAddLocation->text());
_edAddLocation->clear();
}
在列表视图小部件中编辑列表后,我想将其存储在文件中。当我存储 _locations 时,它会从代码的第一行保存原始列表,即使我添加了新项目。
_locations
每当我在 中创建新条目时,如何使代码更新_listView
,或者至少如何获取在 中可见的列表_listView
?