|
Заблокирован
|
||||||
Текст браузер с картинками и стилизованным текстом19.01.2018, 14:26. Показов 1493. Ответов 5
Метки нет (Все метки)
В общем, буду делать свой мессенджер типа вац апа, морда на QML, вот подумываю, взять что-то готовое для главного окна с сообщениями типа QTextBrowser или своё накатать... Думаю, в этом окне будет стилизованный текст, то есть у каждого сообщения могут быть разные цвета, шрифты и пр, в тексте могут встречаться картинки... QTextBrowser нормальное решение или есть что-то по лучше? В нём походу всё через HTML оформлять придётся... Если в нём всё через HTML, может тогда проще WebKit задействовать и через WebView просто HTML-ём всё оформлять и рендерить?
О.. пока писал - придумал. HTML мне никогда не нравился, хотя я с ним на ты. Сделаю всё на динамическом QML! То есть будет холст, куда будут динамический ембедится елементы QML! Круто ![]() P.S.: покажите мне дизайн красивого месседжера, смотрю на все - одна фигня какая-то, похожая на студенческую курсовую Какие-то квадратные окна с парой подразделов и всё... Хотя.. может так и нужно делать, ведь это всего лишь чатДобавлено через 34 минуты Наверное на счёт окна с сообщениями в мессенджере в виде "каждое сообщение - отдельный item" я погорячился, всё таки Repeater - очень тормозная штука и даже каких-то 1000 разноцветных прямоугольников создаёт секунд 5... : Кликните здесь для просмотра всего текста
Ой.. а ещё в каждом новом релизе впаривали, мол мы ускорили инстанциатор элементов...враньё, ничего не поменялось, как было всё дико тормозным при царе горохе - так и осталось. Добавлено через 8 минут Из за чего Repeater такой тормозной? Хмм...ну наверное: 1. В коде выше в модель элементы добавляются поэлементно, то есть скорее всего там идёт push_back на каждый элемент, без предварительного резерва 2. Ну и наверное для каждого ректангла так же вызывается new... Хоть свой менеджер памяти для QML пиши... А.. кстати, зачем менеджер памяти, можно свой Repeater написать! (с менеджером памяти ). Наверное займусь этимДобавлено через 3 минуты хотя не, бред... это ж геморр ещё тот, наверное всё таки проще текстовое окно через HTML оформить Добавлено через 2 часа 1 минуту что-то никто мне ничего не советует... ![]() Я вот тут подумал, можно оставить в окне чата элементы в виде QML Item-ов, просто накатать кастомный скрол вью, который будет респаунить только те элементы, которые в окне... Добавлено через 19 минут вот я туплю, это надо ListView переделывать, что бы он фетчил из модели только то, что нужно...
0
|
||||||
| 19.01.2018, 14:26 | |
|
Ответы с готовыми решениями:
5
Таблица с картинками и текстом
Эффекты с картинками и текстом |
|
42 / 52 / 33
Регистрация: 15.12.2015
Сообщений: 199
|
|
| 22.01.2018, 06:05 | |
|
Видел пример (непомню точно где) ListView и в нем несколько тысяч элементов,
работало нормально, без тормозов. Если сделаете что то рабочее зашлите ссылочку на github, интересно посмотреть что получиться, хотя может быть это комерческая тайна. п.с. я вот только не знаю можно ли на форум ссылки на github кидать.
0
|
|
|
Заблокирован
|
||
| 22.01.2018, 09:50 [ТС] | ||
|
Мессенджер не покажу, это пропритарный... По поводу ListView, нужно делать свой, а так же делать свою модель данных от QAbstractItemModel
0
|
||
|
42 / 52 / 33
Регистрация: 15.12.2015
Сообщений: 199
|
|||
| 22.01.2018, 11:32 | |||
|
0
|
|||
|
60 / 56 / 21
Регистрация: 31.03.2014
Сообщений: 234
|
|
| 22.01.2018, 14:38 | |
|
Пробовал с ListView играться. Самописаная модель с примерно 800 элементами (делегат с 3-мя label'ами). Бегало весьма шустро.
0
|
|
|
Заблокирован
|
|||
| 23.01.2018, 16:37 [ТС] | |||
|
Добавлено через 21 час 29 минут ![]() В общем, провёл тут серию тестов, в принципе, простого ListView достаточно, он нормально фетчит модель частями, единственное мне не очень понятно, на каком основание он выбирает range для фетчинга, учитывая то, что в ListView у меня разные делегаты, то есть в одном ListView лежат разные по размеру QML Item-ы (да да, так можно сделать)... Наверное он просто берёт с запасом ну там +- элементов 50 за пределы экрана в среднем...
0
|
|||
| 23.01.2018, 16:37 | |
|
Помогаю со студенческими работами здесь
6
Сделать простой слайдер с картинками и текстом
Нужна попомощь по роботе с картинками и большим текстом Самый подходящий компонент для отчетов с картинками, таблицами и текстом Пост с тремя картинками к ряду и текстом под каждой из них Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|