Russian Qt Forum
Ноябрь 24, 2024, 04:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: ShowMaximized не обновляется размер  (Прочитано 2374 раз)
andrew.k
Гость
« : Декабрь 18, 2010, 21:31 »

Есть главная форма QMainWindow.
В конструкторе создается QLabel fake(this);
Это член класс формы. он не лежит в лейаутах.
В нужный момент его нужно отобразить и он должен перекрыть собой форму (fake.show(), fake.raise() )
После создания формы, когда приложение уже работает (евент луп запущен), то все без проблем.
Но если мне нужно чтобы форма в момент создания уже была перекрыта, ничего не получается.
показываю форму по showMaximized().
Но до тех пор пока не запустится евент луп, размеры формы не обновляются.
В лабеле хранится снимок формы (grabWidget(this))
В общем никак не получается сообразить с последовательностью действий. надеюсь понятно объяснил.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Декабрь 19, 2010, 12:52 »

После вызова showMaximized() окно меняет свои размеры асинхронно.
Поэтому нужно следить когда отработает QEvent::WindowStateChange.
Записан

Qt 5.11/4.8.7 (X11/Win)
andrew.k
Гость
« Ответ #2 : Декабрь 19, 2010, 21:22 »

После вызова showMaximized() окно меняет свои размеры асинхронно.
Поэтому нужно следить когда отработает QEvent::WindowStateChange.
Спасибо, попробую. Я пробовал использовать QEvent::Resize, но почему-то не получилось. Так как я мне нужно сделать QPixmap::grabWidget и полученное изображение запихнуть в QLabel что приводило к повторному событию и зацикливалось.
Записан
andrew.k
Гость
« Ответ #3 : Декабрь 20, 2010, 05:27 »

После вызова showMaximized() окно меняет свои размеры асинхронно.
Поэтому нужно следить когда отработает QEvent::WindowStateChange.
Спасибо, попробую. Я пробовал использовать QEvent::Resize, но почему-то не получилось. Так как я мне нужно сделать QPixmap::grabWidget и полученное изображение запихнуть в QLabel что приводило к повторному событию и зацикливалось.
Во время события WindowStateChange размер формы по-прежнему старый.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.227 секунд. Запросов: 22.