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

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

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

Автор: wiz29 25.1.2011, 14:48

Доброго времени суток. Хочу спросить, не сталкивался ли кто нибудь с такой проблемой:
Есть QLabel* pLabel, который является частью ui созданного в QtDesigner. На pLabel "вешаю" eventFilter на событие QResizeEvent , по приходу ресайза устанавливаю в pLabel->setPaixmap(QPixmap(size)), где size взят из ивента. Почемуто если данный pLabel находится в лайауте виджета, он начинает увеличиваться по ширине или по высоте (причем только при установке пиксмапа). Подскажите как избавиться от такого глюка.

Автор: Rocky 25.1.2011, 15:03

Цитата(wiz29 @ 25.1.2011, 15:48) *
Почемуто если данный pLabel находится в лайауте виджета, он начинает увеличиваться по ширине или по высоте

"он" - это кто? виджет или pLabel?

ну можно попробовать pLabel->setFixedSize(...)

Автор: wiz29 25.1.2011, 15:11

pLabel увеличивается. Не хотелось бы использовать fixed size или ограничивать max width или max height. Просто хочу понять почему так происходит. Вне лейаута лейбл не растягивается.


Цитата(wiz29 @ 25.1.2011, 15:07) *
pLabel увеличивается. Не хотелось бы использовать fixed size или ограничивать max width или max height. Просто хочу понять почему так происходит. Вне лейаута лейбл не растягивается.

Проблема именно при установке пиксмапа размером == размерам лейбла.

Автор: PAFOS 25.1.2011, 16:28

Когда виджет находится внутри лайаута, за именение размеров виджета отвечает лейаут.

У каждого виджета есть метод sizeHint() который вызывается преимущественно лейаутом и возвращает "идеальные" размеры виджета.

Наверное когда ты устанавливаешь в лейбл пиксмап, то лейбл меняет свой "идеальный" размер под размер пиксмапа + 2-3 пикселя паддинга.

Автор: Litkevich Yuriy 25.1.2011, 17:26

Цитата(PAFOS @ 25.1.2011, 18:28) *
Наверное когда ты устанавливаешь в лейбл пиксмап, то лейбл меняет свой "идеальный" размер под размер пиксмапа
совершенно верно

Автор: wiz29 25.1.2011, 18:27

Странно только то , что меняется высота pLabel, длина же остается неизменной.

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