Kак запретить открытие окна во весь экран PyQt5
Источник: Stack Overflow на русском
Если нужно создать фиксированное окно, это можно сделать так:
window.setFixedSize(width, height)
Но это позволит лишь не раскрывать окно на весь экран, а вот чтобы его нельзя было сворачивать нужно поработать с флагами:
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget
import sys
app = QApplication(sys.argv)
window = QWidget()
window. setFixedSize(500, 300) # задаем фиксированный размер
flags = window.windowFlags() # получаем все флаги которые есть
flags &= ~Qt.WindowMaximizeButtonHint # отключаем ненужный нам флаг
window.setWindowFlags(flags) # присваеваем флаги окну
window.show()
app.exec()
Возможно вместо фиксированного размера вам нужно просто отключить флагWindowMaximizeButtonHint
.
Моя рабочая среда linux
поэтому вероятно это особенности X11
, что нельзя отключить кнопку минимизации, результат такой:
Вообще есть такие флаги (их можно найти в документации):
Qt.MSWindowsFixedSizeDialogHint
Qt.X11BypassWindowManagerHint
Qt.FramelessWindowHint
Qt.WindowTitleHint
Qt.WindowSystemMenuHint
Qt.WindowMinimizeButtonHint
Qt.WindowMaximizeButtonHint
Qt.WindowCloseButtonHint
Qt.WindowContextHelpButtonHint
Qt.WindowShadeButtonHint
Qt.WindowStaysOnTopHint
Qt.WindowStaysOnBottomHint
Qt.CustomizeWindowHint
Для того чтобы не путаться в флагах Вы можете обратится к этому исходнику
Запустив его у Вас будет не только удобная работа с флагами, но и возможность их скопировать в свой код.