Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ QLabel

Автор: flankerr 26.1.2010, 10:44

Как выставить ширину виджета QLabel по содержимому тексту?

Автор: SABROG 26.1.2010, 12:35

adjustSize() не помогает?

Автор: flankerr 26.1.2010, 13:16

не помогоает.
текст не влазит полностью.

Похоже всё дело в языке.
Когда текст написан латиницей всё хорошо, а когда кирилицей - не влазит.

Автор: SABROG 26.1.2010, 13:21

У меня в дизайнере при нажатии на Adjust Size нет разницы кириллица или латиница, одинаково подгоняет ширину.

Автор: flankerr 26.1.2010, 13:50

Хорошо. конкретный пример.
Есть QWidget
в этом виджете етсь QHBoxLayout в котором расположено три QLabel


Вызываю adjustSize() для QLabel
потом чтобы зафиксировать ширину вызваю
QLabel::setFixedWidth( QLabel::width() );

так вот если внутри Qlabel тект на латинеце то всё хорошо, а если на кирилице то всреднем два символа не вмещаються


Похоже с кирилицей проблемы из лайаутов, т.к. если их убрать то становиться нормально.

Автор: SABROG 26.1.2010, 14:11

adjustSize() надо делать каждый раз на новый текст, это не autoresize. Всё ручками. Проблема вовсе не в кириллице.

Автор: flankerr 26.1.2010, 18:00

хорошо скажу по другому елси в прошлый раз выразился не точно
заменяю в коде строчку
str = "test"
на строчку
str = "тест"
собираю проект и получаю фигу - текст обрезан

такая фигня происходит при использованию лаяутов и свойств растягивания. Почему с латиницей всё хорошо с текстом любой длины а с кирилицей вылазят траблы не опнял. Сделал пока в обход по другому чем хотел.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)