Название: QToolTip + html-тэги, перенос строк (решено) Отправлено: andrew.k от Июль 05, 2010, 11:06 Устанавливаю для QToolButton подсказку.
tbUsb->setToolTip( QString( "<h5><nobr>Отображает состояние USB-портов</nobr></h5>" ) + toolTip ); Мне нужно, чтобы этот заголовок не разбивался на строки, поэтому использую тэги. Но если не использовать "-", а поставить "пробел", то тег <nobr> работает как надо, если ставлю "-", то "-портов" переносится на новую строку. Как решить проблему? Кто подскажет? Может надо поставить какой неразрывный дефис или стайлшитами воспользоваться? Название: Re: QToolTip + html-тэги Отправлено: GreatSnake от Июль 05, 2010, 11:14 <nobr> в RichText-e не работает, ибо тролли для него используют усечённую версию html.
Я тоже долго бился и в итоге плюнул. Причём в моём случае разбивалось вообще целое слово :( Стили применить, кстати, тоже не удалось. Единственное что работает, так это <pre>, но надо повозиться, чтобы пропорциональный текст сбросить. Название: Re: QToolTip + html-тэги Отправлено: andrew.k от Июль 05, 2010, 11:33 <nobr> в RichText-e не работает, ибо тролли для него используют усечённую версию html. Так у меня же не RichEdit, а ToolTip или один один механизм используют?Я тоже долго бился и в итоге плюнул. Причём в моём случае разбивалось вообще целое слово :( Так <nobr> работает ведь, проблема только с "-". Если убрать тег, то выглядит так (с пробелом вместо "-") : Отображает состояние USB портов Если поставить тег, то: Отображает состояние USB портов. Т.е. тег работает, но стоит воткнуть дефис(минус), переносит после него. Название: Re: QToolTip + html-тэги Отправлено: GreatSnake от Июль 05, 2010, 11:46 Цитировать Так у меня же не RichEdit, а ToolTip или один один механизм используют? Да, т.к. QToolTip это QLabel с QTextDocument.Цитировать Так <nobr> работает ведь, проблема только с "-". Хм, если он и работает, то довольно-таки очень странно.Посмотрел исходники qt-шного html-парсера. При <nobr> и при <div style="white-space:nowrap"> просто пробел меняется на " ", что верно. Но вот при форматировании, особенно в таблицах, отказаться от разбиения слов можно только при <pre> :( Т.е. если Qt посчитает, что строка не влезает, то он будет разбивать слова. Получается, что как только вы добавили "-" Qt посчитал, что строка длинная и разбил её. Название: Re: QToolTip + html-тэги Отправлено: SimpleSunny от Июль 05, 2010, 11:55 Попробуйте использовать вместо "-" символ ‑
Название: Re: QToolTip + html-тэги Отправлено: GreatSnake от Июль 05, 2010, 12:09 Попробуйте вместо <nobr> </nobr>
<div style='white-space:pre'> </div>. Работает аналогично <pre>, но не использует моноширинный фонт. Название: Re: QToolTip + html-тэги Отправлено: andrew.k от Июль 05, 2010, 13:59 Попробуйте использовать вместо "-" символ ‑ Во блин. Я это уже пробовал, да вот забыл ";" поставить в конце. И мне так и отобразилось "‑". Я решил, что это тут не работает.Щас увидел и вспомнил про ";". Это решило проблему как нужно. Спасибо. Название: Re: QToolTip + html-тэги Отправлено: andrew.k от Июль 05, 2010, 14:06 Дополнительно проверил:
<div style="white-space:nowrap"> - никак не влияет, строка так же разбивается посредине <div style="white-space:pre"> - дает нужный результат. и действительно в отличие от <pre> не делает шрифт моноширенным. Остановился все-таки на неразрывном дефисе (меньше буков:) |