Здравствуйте, гость ( Вход | Регистрация )
ufna | Дата 6.10.2010, 19:12 |
да блин, а оно че, не работает? В моем понимании "не работает" - значит приложение падает и ругается. Оно работает. Как и должно работать. | |
Алексей1153 | Дата 6.10.2010, 17:22 |
Litkevich Yuriy, и что ? QWidget уже вызвался. | |
Litkevich Yuriy | Дата 6.10.2010, 16:50 |
в конструкторе он тоже должен работать. нет, т.к. конструктор это ещё процесс создания объекта. |
|
anater | Дата 6.10.2010, 12:09 |
Всем огромное спасибо за участие! paintEvent куально помог! |
|
ufna | Дата 6.10.2010, 11:23 |
в конструкторе он тоже должен работать. Но косяк не в этом. А в том, что вызывать для получения размеров нужно в обработчике 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 |
а geometry() что возхвращает ? аналогично. тоже что-то нереальное. но на экране товсе как надо менеджер размещений все двадцать штук аккуратненько вписал во фрейм. а вот рельные размеры никак... может имеет значение что я их пытаюсь получить еще в конструкторе? |
|
Алексей1153 | Дата 6.10.2010, 10:50 |
а geometry() что возхвращает ? | |
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 8.5.2024, 6:49 |