crossplatform.ru

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


  Ответ в Реальный размер QWidget
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
ufna Дата 6.10.2010, 19:12
  да блин, а оно че, не работает? В моем понимании "не работает" - значит приложение падает и ругается. Оно работает. Как и должно работать.
Алексей1153 Дата 6.10.2010, 17:22
  Litkevich Yuriy, и что ? :) QWidget уже вызвался.
Litkevich Yuriy Дата 6.10.2010, 16:50
 
Цитата(Алексей1153 @ 6.10.2010, 15:20) *
в конструкторе он тоже должен работать.
нет, т.к. конструктор это ещё процесс создания объекта.
anater Дата 6.10.2010, 12:09
  Всем огромное спасибо за участие!

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


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

Потому эти данные нужно брать в paintEvent, если это именно для отрисовки нужно.
Алексей1153 Дата 6.10.2010, 11:20
  в конструкторе он тоже должен работать. Но косяк не в этом. А в том, что вызывать для получения размеров нужно в обработчике paintEvent - ведь там будешь графику рисовать свою
Авварон Дата 6.10.2010, 11:13
  Да, именно это и имеет значение - Qt не знает как вы будете показывать свой виджет - через show(), showMaximized() или showFullScreen() и не может вернуть размер.
wiz29 Дата 6.10.2010, 11:11
  этот вызов нужно делать не в конструкторе, поставь его в resizeEvent и будет тебе счастье:)
anater Дата 6.10.2010, 11:04
 
Цитата(Алексей1153 @ 6.10.2010, 10:50) *
а geometry() что возхвращает ?

аналогично. тоже что-то нереальное. но на экране товсе как надо :(
менеджер размещений все двадцать штук аккуратненько вписал во фрейм.
а вот рельные размеры никак... может имеет значение что я их пытаюсь получить еще в конструкторе?
Алексей1153 Дата 6.10.2010, 10:50
  а geometry() что возхвращает ?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 18:59