Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ Значение из QListWidget

Автор: ++Norton++ 2.11.2008, 1:32

Как можно взять значение выделенного элемента из QListWidget и записать его в QString? Возможно ли? Полистал документацию, что-то не разобрался...

Автор: Litkevich Yuriy 2.11.2008, 2:37

выделеных элементов может быть несколько, их список можно получить с помошью:
http://crossplatform.ru/documentation/qtdoc4.3/qlistwidget.php#selectedItems

индекс текущего элемента может быть получен:
http://crossplatform.ru/documentation/qtdoc4.3/qlistwidget.php#currentRow-prop

Элемент по индексу строки можено получить так:
http://crossplatform.ru/documentation/qtdoc4.3/qlistwidget.php#item

у QListWidgetItem есть метод:
http://crossplatform.ru/documentation/qtdoc4.3/qlistwidgetitem.php#text

и того для текущего элемента:

QListWidget   wgt;
wgt.item(wgt.currentRow ())->text();


ну а для нескольких выделеных элементов, перебирать их все
QListWidget        wgt;
QList<QListWidgetItem *>  lst;
lst = wgt.selectedItems ();
foreach(QListWidgetItem *item, lst)
{
qDebug << "Item text = " << item->text();

}

Автор: ++Norton++ 2.11.2008, 11:17

Только остался еще один вопрос по этой же теме. А как можно удалить выделенное значение? Пробовал так:

Monitor->removeItemWidget(Monitor->item(Monitor->currentRow()));

Но что-то безрезультатно. А кроме removeItemWidget ничего похожего не нашел.

Автор: Litkevich Yuriy 2.11.2008, 11:30

++Norton++, есть такой метод:
http://crossplatform.ru/documentation/qtdoc4.3/qlistwidget.php#takeItem

он вытаскивает элемент и возвращает указатель на него, если тебе вытащеный элемент не нужен, то его надо будет удалить:

Цитата
Items removed from a list widget will not be managed by Qt, and will need to be deleted manually.
Т.к. у него больше нет родителя и некому заним следить.

Автор: Гость 14.11.2008, 15:34

А как записать в строку все элементы из QListWidget?

Автор: Litkevich Yuriy 14.11.2008, 15:41

Цитата(Гость_Гость_* @ 14.11.2008, 18:34) *
А как записать в строку все элементы из QListWidget?
если в сообщении №2 ты не нашел ответ (последний пример кода), то ищи по форуму, был готовый ответ на твой вопрос.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)