Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QLabel problem
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
wiz29
Доброго времени суток. Хочу спросить, не сталкивался ли кто нибудь с такой проблемой:
Есть QLabel* pLabel, который является частью ui созданного в QtDesigner. На pLabel "вешаю" eventFilter на событие QResizeEvent , по приходу ресайза устанавливаю в pLabel->setPaixmap(QPixmap(size)), где size взят из ивента. Почемуто если данный pLabel находится в лайауте виджета, он начинает увеличиваться по ширине или по высоте (причем только при установке пиксмапа). Подскажите как избавиться от такого глюка.
Rocky
Цитата(wiz29 @ 25.1.2011, 15:48) *
Почемуто если данный pLabel находится в лайауте виджета, он начинает увеличиваться по ширине или по высоте

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

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


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

Проблема именно при установке пиксмапа размером == размерам лейбла.
PAFOS
Когда виджет находится внутри лайаута, за именение размеров виджета отвечает лейаут.

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

Наверное когда ты устанавливаешь в лейбл пиксмап, то лейбл меняет свой "идеальный" размер под размер пиксмапа + 2-3 пикселя паддинга.
Litkevich Yuriy
Цитата(PAFOS @ 25.1.2011, 18:28) *
Наверное когда ты устанавливаешь в лейбл пиксмап, то лейбл меняет свой "идеальный" размер под размер пиксмапа
совершенно верно
wiz29
Странно только то , что меняется высота pLabel, длина же остается неизменной.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.