Название: QLabel с многоточием Отправлено: serkol от Августа 13, 2010, 15:44 Я показываю простой HTML (части текста жирным шрифтом) в QLabel.
Не могу придумать как показывать многоточие в конце, когда текст не влазит... Кто-нибуть мог бы подсказать? Название: Re: QLabel с многоточием Отправлено: kibsoft от Августа 13, 2010, 20:06 Посмотри это: http://doc.trolltech.com/4.6/qfontmetrics.html
Можно определить размер строки в пикселах, соответственно если она больше ширины лейбла, то ставь троеточие..думаю разберешься :) Название: Re: QLabel с многоточием Отправлено: lit-uriy от Августа 13, 2010, 22:54 может сгодится:
QString QFontMetrics::elidedText ( const QString & text, Qt::TextElideMode mode, int width, int flags = 0 ) const Название: Re: QLabel с многоточием Отправлено: serkol от Августа 14, 2010, 03:33 Разве QFontMetrics понимает HTML?
Название: Re: QLabel с многоточием Отправлено: kibsoft от Августа 14, 2010, 11:15 Разве QFontMetrics понимает HTML?
А почему нет то..QFontMetrics работает с QFont, а в нем хранится вся инфа о форматировании (bold, italic и т.д.)..думаю что все будет работать. Название: Re: QLabel с многоточием Отправлено: serkol от Августа 14, 2010, 22:05 Я наверно непонятно написал. У меня QLabel показывает HTML, в котором части текста имеют разные характеристики. То есть "строка" может выглядеть так:
Заголовок Важно, не очень важно, совсем неважно В этом примере, это все один контрол QLabel, в котором одна HTML "строка" форматирует текст как 2 строки, с использованием разных размеров шрифтов и атрибутов bold и italic. Наверное единственный выход - это использовать QWebView для рендера текста, прикрутив к нему css, который будет ставить многоточие в конце блока: {overflow: hidden; text-overflow: ellipsis; white-space: nowrap;} Заморочка в том, что сейчас я втыкаю QLabel-ы в каждую строку QListView, как самый простой способ использование HTML в списке типа QListView. Втыкать туда десятки QWebView наверное не самый лучший вариант - наверное прийдется написать delegate, и использовать один и тот-же QWebView для рендера всех строк списка... Название: Re: QLabel с многоточием Отправлено: lit-uriy от Августа 15, 2010, 04:13 >>прикрутив к нему css, который будет ставить многоточие в конце блока:
>>{overflow: hidden; text-overflow: ellipsis; white-space: nowrap;} а что мешает прицепить эту таблицу стилей к метке и посмотреть будет ли эффект? Название: Re: QLabel с многоточием Отправлено: serkol от Августа 19, 2010, 07:24 QLabel такого конечно не понимает - в доке написано что он понимает только простой HTML. Я проверял. Хуже что и QWebView этого тоже не понял, хотя браузеры понимают (например Firefox, Safari)
Название: Re: QLabel с многоточием Отправлено: serkol от Августа 19, 2010, 07:55 Вообще-то QWebView это делает - я сделал ошибку в стиле. А QLabel естественно не делает. Вот html кому интересно:
Код: <head><style type='text/css'> |