Доброго времени суток.
Мне нужно как-то удалять елементы из QListWidget при нажатии на кнопку в добавляемом виджете.
Добавляемые виджеты выглядят вот так:
Добавляю такие виджеты вот таким вот способом:
//mainwindow.cpp
void MainWindow::on_addPlotButton_clicked() {
QListWidgetItem *item = new QListWidgetItem(this->ui->plotInfoList);
this->ui->plotInfoList->addItem (item);
PlotInfoWidget *theItem = new PlotInfoWidget;
item->setSizeHint (theItem->sizeHint ());
this->ui->plotInfoList->setItemWidget (item, theItem);
}
Пытался удалять при нажатии на кнопку минус(скриншот) вот таким вот способом:
//plotinfowidget.cpp
void PlotInfoWidget::on_deleteButton_clicked()
{
delete this;
}
Но при попытке добавить после этого новый елемент выдаёт такую ошибку
Можно добавить еще одну кнопку и удалять выбраные мышкой елементы, но хотелось бы чтоб они удалялись при помощи кнопки на самом виджете.
Прошу вашей помощи в реализации или подбрасывании идей, в Qt начал розбираться недавно так что хотелось бы получить максимально(насколько возможно) розвёрнутый ответ.
Ну, delete this
вызывать нельзя никогда: как объект может удалить сам себя, если он в момент вызова занят работой одного из методов, в котором встретился такой вызов? Поэтому и Segmentation Fault. Удаление элементов из QListWidget делается так:
int deletee = ... // найти номер элемента для удаления
delete ui->listWidget->takeItem(deletee);
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Столкнулся с одной проблемойУ меня есть таблица, в которой по нажатию кнопок можно добавлять, вставлять между существующих строк и удалять...
Есть картридер для чтения карт с магнитной полосойОперационная система его "задействует" как клавиатуру