LINUX.ORG.RU

«Облачка» для чата

 ,


1

1

Привет всем!

Вопрос знатокам Qt (Desktop). На днях возник один спорный момент.

Разрабатываем чат, нужно сделать сообщения в виде «облачков». То есть, отдельное сообщение – это текстовое поле с возможностью выделения, фиксированной шириной и динамической высотой и кастомным бэкграундом. Пример – viber.

Мне хочется понять насколько это сложно делать средставами Qt, QWidget. Без Qml и WebView. Готовое решение не нужно, хочу понять оценку трудоёмкости и примерное направление куда копать.

Например, в Android это делается относительно просто, TextView + бэкграунд в виде 9patch. А как делается в Qt?

★★★★★

Рисуется ручками при реализации своего qabstractitemview. Можно попробовать с помощью stylesheet натянуть стандартное представление итема в qlistview до описанного (видел подобное в каком-то хелпе, может быть даже стандартном).

При обладании соответствующим опытом - копейки. Иначе придется покурить

tekilla
()

нужно

Не нужно. По крайней мере на десктопе.

Deleted
()

Наследуешься от QWidget и в paintEvent() рисуешь текст и облачка, как душе угодно.

Если же сообщения берутся из модели, тогда вместо QWidget наслежуешься от вьюхи и аналогично

annulen ★★★★★
()

Например, в Android это делается относительно просто, TextView + бэкграунд в виде 9patch. А как делается в Qt?

А точно так же — QSS border-image

CrossFire ★★★★★
()

делать средставами Qt, QWidget

Не стоит. Если каждое сообщение будет QWidget, то быстро словишь тормоза на сколь-нибудь большом диалоге. Бери ItemView и иже с ним.

Sectoid ★★★★★
()

Не знаток, но почти уверен, что это можно сделать средствами QSS.

pon4ik ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.