Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: voral от Март 24, 2011, 18:59



Название: QLineEdit и QLabel выравнивание по вертикали
Отправлено: voral от Март 24, 2011, 18:59
Объект QLabel расположен над QLineEdit (то же если QCheckBox, ... любой виджет имеющий не плоский вид.
Оба объекта в одном QVBoxLayout.
За счет того, что неплоские элементы расходуют пространство на  границы. Визуально текст в QLabel оказывается левее неплоского объекта. Как их выровнять?

Я так понимаю данный разбег зависит и от ОС и от темы GUI. Т.е. некий фиксированный отступ не подходит. Как быть?


Название: Re: QLineEdit и QLabel выравнивание по вертикали
Отправлено: Fat-Zer от Март 24, 2011, 19:05
1) у лейбла разве есть бордюр?
2) скрин объяснит намного лучше в чём проблемма...


Название: Re: QLineEdit и QLabel выравнивание по вертикали
Отправлено: GreatSnake от Март 24, 2011, 19:35
QLabel::setMargin( style()->pixelMetric( PM_DefaultFrameWidth, 0, 0 ) );


Название: Re: QLineEdit и QLabel выравнивание по вертикали
Отправлено: voral от Март 24, 2011, 20:12
QLabel::setMargin( style()->pixelMetric( PM_DefaultFrameWidth, 0, 0 ) );
не помогло... Но покопаю еще в этом напавлении
Скрин пилагаю. Красное что есть. Зеленой что хотелось бы.

Пока решил следующим образом:
Код:
lbExternal->setFrameShape(QFrame::StyledPanel);
lbExternal->setFrameShadow(QFrame::Plain);
lbExternal->setLineWidth(0);
Текст стал "глубже"  чем нужно. Но все же это выглядит более "красиво"


Название: Re: QLineEdit и QLabel выравнивание по вертикали
Отправлено: Etud от Март 24, 2011, 20:55
Мне кажется это небольшая проблема для юзера.

Большая проблема в кривизне... ;D