crossplatform.ru

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

> Реальный размер QWidget
anater
  опции профиля:
сообщение 6.10.2010, 10:45
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 25.12.2009
Пользователь №: 1335

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




Репутация:   0  


Итак нубский вопрос.
Создаю свой виджет
Pb::pb(QWidget * parent)
:QWidget(parent)
{
std::cout << x() <<std::endl;
std::cout << y() <<std::endl;

std::cout << size().height() <<std::endl;
std::cout << size().width() <<std::endl;
};


и вкладываю их штук двадцать в QFrame.

Так вот кусок который выводит мне размеры явно гонит все виджеты пишет размером 640х480, хотя визуально получается максисмум 70х100.

Дело в том счто далее тут должна будет присутствовать графика и для нормальной отрисовки нуно знать реальные размеры и координаты.

Что нуно сделать чтобы их получить? HELP!!!

Заранее спасибо за вменяемые ответы :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ufna
  опции профиля:
сообщение 6.10.2010, 11:23
Сообщение #2


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

Группа: Участник
Сообщений: 362
Регистрация: 24.5.2008
Из: Курган/СПб
Пользователь №: 182

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




Репутация:   5  


Цитата(Алексей1153 @ 6.10.2010, 12:20) Link
в конструкторе он тоже должен работать. Но косяк не в этом. А в том, что вызывать для получения размеров нужно в обработчике paintEvent - ведь там будешь графику рисовать свою


дак в конструкторе оно и работает. Именно такой размер имеет виджет в случае автора. Только потом он его размещает к примеру на лейауте - и при размещении размер изменяется. А если сделать просто show() - то будет то, что size() в конструкторе и даст.

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

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 24.12.2025, 7:57