2015-01-29 3 views
0

Я пишу приложение на Qt 5. У меня есть прозрачное окно, и я хочу сделать его полноэкранным. Итак, как им это делать:Приложение в полноэкранном режиме

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) { 
    setStyleSheet("background: #000;"); 
    setWindowOpacity(0.82); 
    setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); 
    showFullScreen(); 
} 

Но теперь, когда приложение запускает системную панель, исчезает. Вот скриншот:

enter image description here

Таким образом, я могу сделать панель остаться?

+0

Вы не имели в виду максимизацию? Он должен охватывать весь экран, но оставить системную панель неповрежденной. –

+0

Нет, мне нужен ровно полный экран с системной панелью. – Efog

+0

Вы не вставляли свой скриншот правильно. –

ответ

1

Вы можете использовать заголовок <QScreen>, чтобы получить размер дисплея, и соответственно размер вашего окна.

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) { 
    setStyleSheet("background: #000;"); 
    setWindowOpacity(0.82); 
    setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); 
    setFixedSize(QGuiApplication::primaryScreen()->size()); 
} 

Пользователи Linux, вероятно, смогут перемещать окно, используя Alt + щелчок.

Смежные вопросы