Russian Qt Forum
Ноябрь 05, 2024, 22:06
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
центрирование отображения папок в Listview
Страниц:
1
2
[
3
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: центрирование отображения папок в Listview (Прочитано 14605 раз)
koldun90
Крякер
Offline
Сообщений: 345
Re: центрирование отображения папок в Listview
«
Ответ #30 :
Февраль 22, 2015, 15:21 »
можете код скинуть отрисовки вашей очень нужно как вы добились и такого результата...
ps: ладно не буду париться оставлю все как во втором посте темы
ограничюсь
Код:
if (role==QT::sizehintrole)
{
return QSize(80,60);
}
«
Последнее редактирование: Февраль 22, 2015, 15:27 от koldun90
»
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: центрирование отображения папок в Listview
«
Ответ #31 :
Февраль 22, 2015, 15:27 »
Цитата: koldun90 от Февраль 22, 2015, 15:21
можете код скинуть отрисовки вашей очень нужно как вы добились и такого результата...
Аттач
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4746
Re: центрирование отображения папок в Listview
«
Ответ #32 :
Февраль 22, 2015, 16:00 »
цитировать лень.
да, перепутал — вместо (0,0) надо брать option.rect.topLeft().
с центрированием проблемы не вижу, например для иконки: QRect(0, 0, 24, 24).moveCenter(option.rect.center().x(), 12)
я думал, что если задать достаточно большой размер айтема (через модель), то option.rect.size() будет у всех одинаковым, что сразу даст выравнивание по сетке, разве нет? (не пробовал)
Записан
Изучением 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
Сообщений: 11445
Re: центрирование отображения папок в Listview
«
Ответ #33 :
Февраль 22, 2015, 16:10 »
Цитата: kambala от Февраль 22, 2015, 16:00
я думал, что если задать достаточно большой размер айтема (через модель),
А как через модель?
Цитата: kambala от Февраль 22, 2015, 16:00
то option.rect.size() будет у всех одинаковым, что сразу даст выравнивание по сетке, разве нет? (не пробовал)
Да, с вкл grid нет проблем, но размер ячейки фиксирован, придется заряжать его с запасом и лист может выглядеть "пустовато"
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4746
Re: центрирование отображения папок в Listview
«
Ответ #34 :
Февраль 22, 2015, 16:38 »
Цитата: Igors от Февраль 22, 2015, 16:10
Цитата: kambala от Февраль 22, 2015, 16:00
я думал, что если задать достаточно большой размер айтема (через модель),
А как через модель?
отдать Qt::SizeHintRole в data()
Записан
Изучением 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
Сообщений: 11445
Re: центрирование отображения папок в Listview
«
Ответ #35 :
Февраль 23, 2015, 11:39 »
По умолчанию размер айтема вычисляется как сумма/объединение
- QRect иконки
- QRect текста
- QRect еще чего-то
При рисовании эти QRect вычисляются точно так же, только ограничиваются размером айтема, который уже готов. Поэтому изменение размера айтема (через модель или как) может "обрезать" рисование, но не "расширить". Др словами с бОльшим размером айтем займет больше места, но отрисуется так же. Конечно если мы сами будем и рисовать - все норм, но это накладно. Куда проще изменить StyleOption
«
Последнее редактирование: Февраль 23, 2015, 11:41 от Igors
»
Записан
Страниц:
1
2
[
3
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...