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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Разворачивание окна после Minimized  (Прочитано 6209 раз)
BuRn
Гость
« : Сентябрь 23, 2015, 17:55 »

Добрый день. Есть Window, я ему делаю minimized, окно сворачивается, дальше хочу при некоторых событиях развернуть его, и вызываю функцию:
Код:
void Application::setOnTop()
{
    if(!_viewer->isActive())
    {
        if(_viewer->visibility()==QWindow::Minimized)
        {
            _viewer->setVisibility(QWindow::Windowed);
        }

        if(!_viewer->isTopLevel())
            _viewer->raise();
    }
}
Но вот почему-то окно не получается развернуть, пытался поиграться с флагами, ситуация аналогичная, окно на прочь не хочет разворачиваться, хотя код под условием точно отрабатывает. ОС Linux, на виндовс не проверял
« Последнее редактирование: Сентябрь 23, 2015, 17:57 от BuRn » Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Сентябрь 23, 2015, 17:58 »

visibility это совсем о другом. Попробуй

Код
C++ (Qt)
setWindowState(windowState() & ~Qt::WindowMinimized);
raise();
 
Записан
BuRn
Гость
« Ответ #2 : Сентябрь 23, 2015, 18:07 »

visibility это совсем о другом. Попробуй

Код
C++ (Qt)
setWindowState(windowState() & ~Qt::WindowMinimized);
raise();
 
Не работает:
Код:
 _viewer->setWindowState((Qt::WindowState)(_viewer->windowState() & ~Qt::WindowMinimized));
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #3 : Сентябрь 23, 2015, 18:15 »

Не работает:

Вспомнил что ещё нужно окно активировать

Код
C++ (Qt)
       setWindowState(windowState() & ~Qt::WindowMinimized);
       raise();
       activateWindow();
 
Записан
BuRn
Гость
« Ответ #4 : Сентябрь 23, 2015, 18:37 »

Не работает:

Вспомнил что ещё нужно окно активировать

Код
C++ (Qt)
       setWindowState(windowState() & ~Qt::WindowMinimized);
       raise();
       activateWindow();
 
У QWindow нет такого метода, activateWindow()
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #5 : Сентябрь 23, 2015, 18:46 »

QWindow::show()
или
QWindow::showMaximized()
Записан

Qt 5.11/4.8.7 (X11/Win)
BuRn
Гость
« Ответ #6 : Сентябрь 23, 2015, 18:49 »

QWindow::show()
или
QWindow::showMaximized()
Не работает ни то ни то, что интересно, максимайзед работает, т.е. если вызвать showMaximized , то оно будет развернуто до максимального размера, но по прежнему будет в свернутом состоянии, а вот если его вывести из свернутого состояния, то действительно оно Maximized.
Мб в этом дело ?
viewer.setFlags(viewer.flags() | Qt::FramelessWindowHint);
« Последнее редактирование: Сентябрь 23, 2015, 18:51 от BuRn » Записан
Vergil Alighieri
Гость
« Ответ #7 : Сентябрь 24, 2015, 09:01 »

Попробуй
Код:
   
 MainWindow::showNormal();
 MainWindow::activateWindow();

Сам так разворачиваю окно неактивное в своём проекте.
С помощью первого оно у меня разворачивается, а вторым выходит на передний план.

P.S. Посмотрел.. У QWindow действительно нет activateWindow(), но showNormal() отрабатывает.
« Последнее редактирование: Сентябрь 24, 2015, 09:05 от Vergil Alighieri » Записан
BuRn
Гость
« Ответ #8 : Сентябрь 24, 2015, 10:27 »

Попробуй
Код:
   
 MainWindow::showNormal();
 MainWindow::activateWindow();

Сам так разворачиваю окно неактивное в своём проекте.
С помощью первого оно у меня разворачивается, а вторым выходит на передний план.

P.S. Посмотрел.. У QWindow действительно нет activateWindow(), но showNormal() отрабатывает.
Какая ос ?
Ос Ubuntu, не разворачивает showNormal()
Записан
BuRn
Гость
« Ответ #9 : Сентябрь 24, 2015, 10:42 »

http://файлообменник.рф/b50rzl6vc3gv.html
Вот пример, который у меня не работает. Нажимаем на кнопку, окно сворачивается и через 5 секунд не разворачивается, хотя слот отработал и showNormal() тоже
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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