Russian Qt Forum
Ноябрь 26, 2024, 02:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: удаление строки из listwidget  (Прочитано 6047 раз)
koldun90
Крякер
****
Offline Offline

Сообщений: 345


Просмотр профиля
« : Август 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 мне не нужно так как собираюсь удалять не выделенную строку (те в удаления она будет не выделена)
« Последнее редактирование: Август 26, 2014, 09:36 от koldun90 » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Август 26, 2014, 10:09 »

Проверьте список found, возможно он пустой.
Для получения номера строки элемента используйте это QListWidget::row.
Записан

koldun90
Крякер
****
Offline Offline

Сообщений: 345


Просмотр профиля
« Ответ #2 : Август 26, 2014, 10:29 »

список не пустой item он точно находит в котором имеется текст WER
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Август 26, 2014, 12:19 »

delete ui->listWidget->takeItem(item);
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #4 : Август 26, 2014, 13:09 »

delete ui->listWidget->takeItem(item);

QListWidgetItem * QListWidget::takeItem ( int row )
Записан

kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #5 : Август 26, 2014, 14:07 »

ну тогда параметром будет ui->listWidget->row(item) очевидно Улыбающийся
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #6 : Август 26, 2014, 14:13 »

Эх, не о том разговор! Настоящий кайф - когда надо обеспечить undo этой операции  Улыбающийся
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #7 : Август 26, 2014, 14:41 »

список не пустой item он точно находит в котором имеется текст WER

внезапно "delete item;" или ещё лучше "qDeleteAll(found);"
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.097 секунд. Запросов: 23.