У меня есть QListview, который я использую для отображения названий книг с использованием модели QStringListModel. Как удалить текущий выбранный элемент? Я хочу только удалить один заголовок книги, который должен быть выбранным в данный момент заголовком. Я прочитал несколько подобных вопросов, но не нашел ясного ответа нигде. Я попытался с помощью QModelIndexList объявленного в моем слоте deleteBookButtonClicked, но получаю переменную необъявленную ошибку ...Удаление одного элемента из QListview с помощью QStringListModel как модели
0
A
ответ
1
// stringlistmodel.h
class StringListModel : public QStringListModel
{
public:
explicit StringListModel(QObject* prnt=0);
void deleteItem(const QModelIndex& index);
};
// srtringlistmodel.cpp
void StringListModel::deleteItem(const QModelIndex& index)
{
if (!index.isValid() || index.row() >= stringList().size())
return;
removeRows(index.row(), 1);
}
использовать это как
StringListModel* model = new StringListModel(this);
model->setStringList(QStringList() << "Book 1" << "Book 2" << "Book 3");
ui->listView->setModel(model);
// C++11 style connect
connect(ui->pushButton, &QPushButton::clicked, [model, this]() {
model->deleteItem(ui->listView->currentIndex());
});
Смежные вопросы
- 1. Как добавить значок в QListView с помощью QStringListModel?
- 2. Получить индекс элемента из списка поддерживаемого QStringListModel()
- 3. Как обновить QStringListModel
- 4. Удаление одного элемента из корзины
- 5. Невозможно установить всплывающую подсказку с помощью setData при использовании QListView с QStringListModel
- 6. Как изменить цвет элементов QStringListModel?
- 7. Как искать и выбирать элементы из QListView?
- 8. Получение данных из выбранного элемента в QListView
- 9. Как установить таблицу стилей для одного элемента в Qlistview?
- 10. JavaFX Удаление одного элемента из ComboBox
- 11. Удаление элемента из списка в EF-модели
- 12. Удаление одного элемента из корзины сеанса PHP
- 13. Удаление одного элемента из массива jQuery
- 14. QListView с QStandardItemModel не показывает выделение выделения с помощью кода
- 15. Удаление элемента из списка с помощью ListIterator
- 16. Удаление класса из элемента с помощью jquery
- 17. Отображение вектора в QListView
- 18. Удаление элемента из ArrayList с помощью итератора
- 19. Как очистить все элементы QListView
- 20. Настройка пользовательских данных для элемента QStringListModel
- 21. Сигнал при изменении выбора QListView из-за активности клавиатуры?
- 22. Удаление элемента с помощью javascript
- 23. Как распечатать содержимое QStringListModel?
- 24. QStringListModel сортировка
- 25. Как правильно анимировать удаление элемента из модели данных в Cascades?
- 26. Удаление элемента с помощью jquery
- 27. Qt 5.5 Сбой программы с QStringListModel
- 28. Удаление элемента с помощью imacro
- 29. Удаление элемента с помощью CSS
- 30. Удаление элемента из зрителя
вы можете удалить его в модели и сообщить виду. Простой способ использовать сигналы модели сброса – user3528438
Я хочу, чтобы найти текущую выбранную строку, а затем удалить ее из QStringList. Я знаю, как удалить его, но как получить текущий выбранный элемент в списке? – user2094257