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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Восстановить состояние окна, которое было до того, как его свернули.  (Прочитано 3573 раз)
Barmaglodd
Гость
« : Апрель 08, 2009, 08:02 »

Задача банальная. Сворачиваю окно в панель задач, потом надо программно его развернуть в прежнее состояние. В 4.4.3 разворачивалось через showNormal отлично, в Qt 4.5.0 тоже разворачивается, но старые размеры не восстанавливаются. Например, до сворачивания окно было maximized, а после стало на пол экрана. Понять не могу, то ли это регрессия, то ли наоборот showNormal начал работать как задумано.
Записан
Rcus
Гость
« Ответ #1 : Апрель 08, 2009, 08:59 »

http://techbase.kde.org/Policies/API_to_Avoid Улыбающийся
Для того чтобы понять что именно делает showNormal достаточно взглянуть на ./src/gui/kernerl/qwidget.cpp:2740.
Код
C++ (Qt)
void QWidget::showNormal()
{
   ensurePolished();
#ifdef QT3_SUPPORT
   if (parent())
       QApplication::sendPostedEvents(parent(), QEvent::ChildInserted);
#endif
 
   setWindowState(windowState() & ~(Qt::WindowMinimized
                                    | Qt::WindowMaximized
                                    | Qt::WindowFullScreen));
   show();
}
 
Записан
Barmaglodd
Гость
« Ответ #2 : Апрель 08, 2009, 11:10 »

Спасибо! Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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