![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
flankerr |
![]() ![]()
Сообщение
#1
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
1. Как сделать просчёт размеров всех элементов окна и самой формы до вызова show ?
т.е. если до вызова show у дилога спросить его ширину он выдаст фигню (в том случае если рамер не заан фикисровано) 2.Как узнать ширрину виджета таблицы ? ВНИМАНИЕ! сумма ширин всех столбцов НЕ равна (а точнее меньше) ширины виджета таблицы |
|
|
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
1. посмотри void QWidget::showEvent ( QShowEvent * event ) [virtual protected], для этого правда тебе прийдется переопределять класс виджета.
2. А что говорит geometry и Геометрия окна? |
|
|
flankerr |
![]() ![]()
Сообщение
#3
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Зачем мне эвент то?)) если эвент придёт ДО вызова show то элементы ещё будут НЕ просчитаны. А если он придёт после вызова show то диалог уе будет выведен на экран. Функция show инициаолизирует элементы и выводит их на экран.
Впрос в том КАК инициализировать размеры НО не выводить на экран ? Конечно можно тупо залезть в show и переписать исходник со всемм вытекающими но может есть какойнить ЛЕАЛЬНЫЙ способ ? |
|
|
ViGOur |
![]()
Сообщение
#4
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
А ты попробуй создать тестовый проект, набросать на виджет виджетов и переопределить showEvent:
и увидишь, что координаты дочерних виджетов правильные!Как видишь в данном случае pEvent не нужен. ![]() Сообщение отредактировал ViGOur - 28.11.2008, 12:48 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 3.5.2025, 17:42 |