QT/победа: showMaximized () перекрывающаяся панель задач на необрамленном окне

Я создаю приложение, которое имеет его собственный хром. Я выключил границу окна по умолчанию путем установки флага:

this->setWindowFlags(Qt::FramelessWindowHint);

После того, как этот флаг установлен, и граница окна по умолчанию выключена, любые вызовы к:

this->showMaximized();

результат в окне, которое занимает весь экран, перекрывая панель задач. Существует ли общая работа вокруг для этого или другого метода, который я должен называть вместо showMaximized ()?

Win7/Qt4.6

6
задан greggreg 14 April 2010 в 21:29
поделиться

1 ответ

Если вы наследуете от QDesktopWidget, вы сможете использовать availableGeometry (), который возвращает доступную геометрию экрана с индексным экраном в зависимости от того, что платформа решает, что доступна (например, исключает док-станцию ​​и строку меню в Mac OS X или панель задач в Windows).

#ifndef WIDGET_H
#define WIDGET_H

#include <QtGui>
class Widget : public QDesktopWidget
{
    Q_OBJECT
public:
    Widget(QWidget *parent = 0);
    ~Widget();
};

#endif // WIDGET_H



#include "widget.h"
#include <QtGui>

Widget::Widget(QWidget *parent) : QDesktopWidget()
{
    this->setWindowFlags(Qt::FramelessWindowHint);
    this->showMaximized();
    this->resize(width(), availableGeometry().height());
}

Widget::~Widget()
{

}
5
ответ дан 9 December 2019 в 20:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: