Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: V1rus от Марта 11, 2010, 07:17



Название: [QT3]ListView
Отправлено: V1rus от Марта 11, 2010, 07:17
Всем доброе время суток. Вопрос такой: имеется QListView элементы в нем располагаются один под другим, то есть ни как древовидной структуры нет. Имеется кнопки вверх и вниз. Какой обработчик должен быть на этих кнопках, что бы при клике на них item поднимался на одну строку вверх или вниз соответсвенно. Ни через moveItem, ни через takeItem-insertItem это сделать не получается. режим селекта single mod.


Название: Re: [QT3]ListView
Отправлено: GreatSnake от Марта 11, 2010, 09:07
Сортировка выключена?


Название: Re: [QT3]ListView
Отправлено: alexman от Марта 11, 2010, 09:10
Самый примитивный способ: сделать clear() и вставить заново все элементы в новой посл-ти.


Название: Re: [QT3]ListView
Отправлено: V1rus от Марта 11, 2010, 10:00
Да? сортировка выключена. вариант с клиром что то абсолютно не нравится, должен ведь быть корректный способо. ИМХО задачка не редкая и должны быть нормальные способы.


Название: Re: [QT3]ListView
Отправлено: GreatSnake от Марта 11, 2010, 10:16
Задачка, имхо, тривиальная. Может что-то напутали с вызовом moveItem()?


Название: Re: [QT3]ListView
Отправлено: V1rus от Марта 11, 2010, 11:57
Что там можно напутать.)
QListViewItem *curItem =  listView->currentItem();
curItem->moveItem(curItem->itemBelow);

вроде так писал(щас кода нет под рукой). Там в ассисте упоминается что это работает при древовидной структуре вроде или что-то типо того(ассиста щас тоже под рукой нет)))