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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Реквестую совет  (Прочитано 3537 раз)
toggetit
Гость
« : Август 31, 2011, 13:53 »

Господа! Нужен ваш совет:
Пишу в качестве бреда аудиплеер для вКонтактика. Софтина забирает с сайта XML с данными об аудизаписях (исполнитель, название, имя файла), парсит её и складывает всё в QStandardItemModel. Та, в свою очередь, показывается в QTableView. Т.е. в строке информация о аудиофайле - в каждом столбике своё значение (те самые исполнитель и т.п.). Мне показалось, что так не кошерно и я подумал (OMG) вот о чём - хотелось бы сделать так, чтобы вместо таблицы был просто список, в котором записи вида Artist - Track Name (duration). А забирать из такой модели чисто путь к файлу. ну типа:

index->data() отдаёт http://path/to/file.mp3

Т.к. я особо в этой области не сведущь, реквестуется ответ на такой вот вопрос - как правильно такое реализовать? чтоб тру-Ъ! Писать свою кастомную модель на основе QAbstractListModel или какие-то навесы к стандартной моей модели делать или ещё как-то такие вещи делаются? Знатоки, поможите советом!
Заранее спасибо!
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Август 31, 2011, 13:57 »

тут можно обойтись вообще простым QListWidget
Записан

Изучением 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
toggetit
Гость
« Ответ #2 : Август 31, 2011, 14:04 »

Хм... Суть-то какая - иметь список из как бы пар "Артист - Песня" и "путь". Показывать одно значение, а работать с другим
« Последнее редактирование: Август 31, 2011, 14:06 от toggetit » Записан
Странник
Гость
« Ответ #3 : Август 31, 2011, 14:24 »

Хм... Суть-то какая - иметь список из как бы пар "Артист - Песня" и "путь". Показывать одно значение, а работать с другим
никто не мешает скрыть лишние столбцы в QTableView, или, как и сказали выше, использовать QListView, отображающий только один интересующий вас столбец. если так уж неймется, можете хранить отображаемые данные в Qt::DisplayRole модели, а путь к файлу в - Qt::UserRole.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #4 : Август 31, 2011, 14:28 »

ну так а что мешает использовать список структур?
Код
C++ (Qt)
struct VKSong
{
   QString artist, title, path;
}
текущий индекс в виджете определяет индекс в списке - оттуда и брать путь.

я не вижу особого смысла использовать model-view, если требуется простенькое поведение. но если есть идея развивать программу дальше, добавлять какие-то фичи для этого списка песен - тогда может и стоит использовать model-view.
Записан

Изучением 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
toggetit
Гость
« Ответ #5 : Август 31, 2011, 16:11 »

Спасибо, начал разбираться! Всё же заюзаю model/view - интересно уж очень)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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