Russian Qt Forum

Qt => Вопросы новичков => Тема начата: koldun90 от Август 26, 2014, 09:27



Название: удаление строки из listwidget
Отправлено: koldun90 от Август 26, 2014, 09:27
как удалить строку из Listwidget
есть код
Код:
QListWidgetItem *item;
    QList <QListWidgetItem *> found=ui->listWidget->findItems("WER",Qt::MatchWildcard);  // здесь происходит поиск в listwidget по слову WER--метка тома
   // msg.setText(QString::fromLocal8Bit("Размер списка ")+QString::number(found.size()));   // размер списка 1
    //msg.exec();
    foreach(item,found)  // перебираем элементы
    {

         //ui->listWidget->removeItemWidget(item);   //не помогает
         delete ui->listWidget->takeItem(ui->listWidget->currentRow());    // не помогает
    }
Смысл в том у меня есть ListWidget
в нем отображается список примонтированных устройств в этом списке есть устройство с меткой WER
я выполняю поиск ittema он его находит а как его удалить?

я так понял currenrow мне не нужно так как собираюсь удалять не выделенную строку (те в удаления она будет не выделена)


Название: Re: удаление строки из listwidget
Отправлено: gil9red от Август 26, 2014, 10:09
Проверьте список found, возможно он пустой.
Для получения номера строки элемента используйте это QListWidget::row (http://qt-project.org/doc/qt-4.8/qlistwidget.html#row).


Название: Re: удаление строки из listwidget
Отправлено: koldun90 от Август 26, 2014, 10:29
список не пустой item он точно находит в котором имеется текст WER


Название: Re: удаление строки из listwidget
Отправлено: kambala от Август 26, 2014, 12:19
delete ui->listWidget->takeItem(item);


Название: Re: удаление строки из listwidget
Отправлено: gil9red от Август 26, 2014, 13:09
delete ui->listWidget->takeItem(item);

QListWidgetItem * QListWidget::takeItem ( int row ) (http://qt-project.org/doc/qt-4.8/qlistwidget.html#takeItem)


Название: Re: удаление строки из listwidget
Отправлено: kambala от Август 26, 2014, 14:07
ну тогда параметром будет ui->listWidget->row(item) очевидно :)


Название: Re: удаление строки из listwidget
Отправлено: Igors от Август 26, 2014, 14:13
Эх, не о том разговор! Настоящий кайф - когда надо обеспечить undo этой операции  :)


Название: Re: удаление строки из listwidget
Отправлено: Alex Custov от Август 26, 2014, 14:41
список не пустой item он точно находит в котором имеется текст WER

внезапно "delete item;" или ещё лучше "qDeleteAll(found);"