Russian Qt Forum
Июня 16, 2025, 13:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с разворачиванием окна  (Прочитано 4227 раз)
Mike
Гость
« : Января 25, 2010, 15:02 »

Убираю заголовок окна:
cMainWindow::cMainWindow( QWidget* parent /*= 0*/ )
   : QMainWindow(parent, Qt::CustomizeWindowHint),
{
}

далее имеется слот который сворачивает/разворачивает окно на весь экран:
void cMainWindow::toggleMaximize()
{
   isMaximized() ? showNormal() : showMaximized();
}

При разворачивании на весь экран форма перекрывает и панель задач, как если бы использовался showFullScreen()
Как решить проблему?
Записан
sendevent
Гость
« Ответ #1 : Января 25, 2010, 15:59 »

как вариант - править геометрию самостоятельно с учетом
const QRect QDesktopWidget::availableGeometry ( int screen = -1 ) const;
Записан
Mike
Гость
« Ответ #2 : Января 25, 2010, 17:40 »

Про это я уже думал. Но это ведь не красивый метод Улыбающийся
Записан
shadone
Гость
« Ответ #3 : Января 26, 2010, 15:58 »

Убираю заголовок окна:
cMainWindow::cMainWindow( QWidget* parent /*= 0*/ )
   : QMainWindow(parent, Qt::CustomizeWindowHint),
{
}

далее имеется слот который сворачивает/разворачивает окно на весь экран:
void cMainWindow::toggleMaximize()
{
   isMaximized() ? showNormal() : showMaximized();
}

При разворачивании на весь экран форма перекрывает и панель задач, как если бы использовался showFullScreen()
Как решить проблему?
"так и задумано". Когда создается окно с CustomizeWindowHint это означает что будет проигноирована рамка окна. При максимизации такого окна средствами Windows (ShowWindow SW_SHOWMAXIMIZED) операционная система разворачивает его игнорируя таскбар и прочие препятствия.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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