Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: troorl от Сентябрь 02, 2006, 16:44



Название: [qt3.3] Как сделать автоматический перенос в QCanvasText?
Отправлено: troorl от Сентябрь 02, 2006, 16:44
Вот такой вопрос. Рисую на канве текст. Если он не влазит на канву, то переноса нету и он рисуется (образно говоря) за пределами канвы.
Мне нужно, чтобы текст автоматически переносился на новую строку, если он не влазит.
Такое возможно? Есть какие-нибудь идеи?


Название: [qt3.3] Как сделать автоматический перенос в QCanvasText?
Отправлено: BaltikS от Сентябрь 02, 2006, 22:41
смотри setTextFlags(Qt::AlignCenter | WordBreak)


Название: [qt3.3] Как сделать автоматический перенос в QCanvasText?
Отправлено: troorl от Сентябрь 04, 2006, 11:56
Цитата: "BaltikS"
смотри setTextFlags(Qt::AlignCenter | WordBreak)
Дело в том, что при таком подходе текст будет переноситься на новую строку. Но при этом ширина этого текста будет равной ширине самого длинного слова в этом тексте, независимо от ширины канвы.
Есть ещё варианты? Я уже перекопал кучу флагов, но всё не то :(


Название: [qt3.3] Как сделать автоматический перенос в QCanvasText?
Отправлено: BaltikS от Сентябрь 04, 2006, 12:22
Тогда вручную... Счиатешь ширину шрифта
Код:
QFontMetrics
... и переносишь...


Название: [qt3.3] Как сделать автоматический перенос в QCanvasText?
Отправлено: troorl от Сентябрь 04, 2006, 19:20
Цитата: "BaltikS"
Тогда вручную... Счиатешь ширину шрифта
Код:
QFontMetrics
... и переносишь...

Как-то оно совсем уж не кошерно :(