Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: koldun90 от Февраль 20, 2015, 19:46



Название: имена длинных файлов и папок
Отправлено: koldun90 от Февраль 20, 2015, 19:46
есть qlistview в нем представлена qfilesystemmodel обернутая в qsortfilterproxymodel
(http://s017.radikal.ru/i405/1502/23/217c10629b24.png) (http://www.radikal.ru)
Как сделать так чтобы имена длинных файлов и папок переносились на другую сторону(на вторую сторону чтоб они прям полностью отображались... вот допустим отображается название папки полностью (SYSTEM VOLUME INFORMATION) переносится на след строку если сжимаю.... ну я думаю вы поняли)
(http://s40.radikal.ru/i087/1502/4a/488f3acb57ad.png) (http://www.radikal.ru)


Название: Re: имена длинных файлов и папок
Отправлено: BuRn от Февраль 21, 2015, 02:45
А он разве не поддерживает делегаты? Наверняка можно описать делегат для элемента listview


Название: Re: имена длинных файлов и папок
Отправлено: Igors от Февраль 21, 2015, 11:04
см пропердь wordWrap


Название: Re: имена длинных файлов и папок
Отправлено: koldun90 от Февраль 22, 2015, 09:45
проблема в следующем наследовался QStyledItemDelegate
решил переопределить метод paint
но вот вопрос в том что у рисовальщика мне нужно 2 метода
Код:
painter->drawPixMap
--для вставки иконки папки
и
Код:
painter->drawText
-- для вставки названия папки или файла
Вопрос в следующем а как мне определить координаты где нужно рисовать (иконка моей папки имеет размер 24 на 24 пикселя)
из этого следует что ширина и высота равна 24 пикселя ???
а вот как определить координаты х и у
ведь папок много они должны красиво отрисовываться как на первом скрине
поэтому как я понял координаты х и у динамические....
также нужно определить корректно и координаты текста...
помогите определить координаты...




Название: Re: имена длинных файлов и папок
Отправлено: Igors от Февраль 22, 2015, 10:07
Не уверен что Вам вообще нужно "рисовать". Для начала я бы перекрыл  QStyledItemDelegate::sizeHint где вернул бы бОльший size. Что из этого выйдет?


Название: Re: имена длинных файлов и папок
Отправлено: koldun90 от Февраль 22, 2015, 10:31
в моем классе наследованом от qfilesystemmodel переопределен метод data
и внем я как раз выполняю

Код:
if (role==Qt::SizeHintrole)
{
     return QSize(80,60);
}

после этого папки становятся как бы ровными стройными друг за другом
но как бы если названия папки или файла если оно длинное оно не переносится на след строку оно как бы скрывается а мне нужно чтобы все переносилось на след строку...


Название: Re: имена длинных файлов и папок
Отправлено: koldun90 от Февраль 22, 2015, 10:40
Код:
 QStyledItemDelegate::sizeHint
переопределил sizehint

в нем одна строка
Код:
return QSize(80,60);
никаких изменений нет все нормально рисуется но длинные имена папко и файлов не переносятся на след строку)