crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QLabel problem
wiz29
  опции профиля:
сообщение 25.1.2011, 14:48
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


Доброго времени суток. Хочу спросить, не сталкивался ли кто нибудь с такой проблемой:
Есть QLabel* pLabel, который является частью ui созданного в QtDesigner. На pLabel "вешаю" eventFilter на событие QResizeEvent , по приходу ресайза устанавливаю в pLabel->setPaixmap(QPixmap(size)), где size взят из ивента. Почемуто если данный pLabel находится в лайауте виджета, он начинает увеличиваться по ширине или по высоте (причем только при установке пиксмапа). Подскажите как избавиться от такого глюка.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 25.1.2011, 15:03
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


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

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

ну можно попробовать pLabel->setFixedSize(...)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 25.1.2011, 15:11
Сообщение #3


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


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
Сообщение #4


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

Спасибо сказали: 29 раз(а)




Репутация:   8  


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

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

Наверное когда ты устанавливаешь в лейбл пиксмап, то лейбл меняет свой "идеальный" размер под размер пиксмапа + 2-3 пикселя паддинга.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 25.1.2011, 17:26
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9668
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(PAFOS @ 25.1.2011, 18:28) *
Наверное когда ты устанавливаешь в лейбл пиксмап, то лейбл меняет свой "идеальный" размер под размер пиксмапа
совершенно верно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 25.1.2011, 18:27
Сообщение #6


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


Странно только то , что меняется высота pLabel, длина же остается неизменной.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.11.2021, 8:58