Как убрать верхнее меню

Мне надо убрать верхнее меню в приложении написанном на PyQt5. Я бы хотел оставить свою верхнею панель. Вот панель которую хотелось бы убрать

введите сюда описание изображения

Вот код:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'config.ui'
#
# Created by: PyQt5 UI code generator 5.15.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(460, 615)
        MainWindow.setBaseSize(QtCore.QSize(0, 0))
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.main_window_frame = QtWidgets.QFrame(self.centralwidget)
        self.main_window_frame.setGeometry(QtCore.QRect(5, 10, 450, 600))
        self.main_window_frame.setMaximumSize(QtCore.QSize(16777215, 16777215))
        self.main_window_frame.setStyleSheet("background-color: rgb(52, 73, 94);\n"
"border-radius: 20px;\n"
"\n"
"")
        self.main_window_frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.main_window_frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.main_window_frame.setObjectName("main_window_frame")
        self.tab_menu_frame = QtWidgets.QFrame(self.main_window_frame)
        self.tab_menu_frame.setGeometry(QtCore.QRect(0, 0, 450, 30))
        self.tab_menu_frame.setStyleSheet("background-color: rgb(35, 50, 65);\n"
"border-top-left-radius: 20px;\n"
"border-top-right-radius: 20px;\n"
"border-bottom-left-radius: 0px;\n"
"border-bottom-right-radius: 0px;")
        self.tab_menu_frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.tab_menu_frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.tab_menu_frame.setObjectName("tab_menu_frame")
        self.button_exit = QtWidgets.QPushButton(self.tab_menu_frame)
        self.button_exit.setGeometry(QtCore.QRect(415, 8, 15, 15))
        self.button_exit.setStyleSheet("QPushButton {\n"
"    border-radius: 7px;\n"
"    background-color: rgb(231, 76, 60);\n"
"}\n"
"QPushButton:hover:hover{\n"
"    background-color: rgb(192, 57, 43);\n"
"}")
        self.button_exit.setText("")
        self.button_exit.setObjectName("button_exit")
        self.button_fullscrean = QtWidgets.QPushButton(self.tab_menu_frame)
        self.button_fullscrean.setGeometry(QtCore.QRect(395, 8, 15, 15))
        self.button_fullscrean.setStyleSheet("QPushButton {\n"
"    border-radius: 7px;\n"
"    background-color: rgb(46, 204, 113);\n"
"}\n"
"QPushButton:hover:hover{\n"
"    background-color: rgb(39, 174, 96);\n"
"}")
        self.button_fullscrean.setText("")
        self.button_fullscrean.setObjectName("button_fullscrean")
        self.label = QtWidgets.QLabel(self.tab_menu_frame)
        self.label.setGeometry(QtCore.QRect(200, 4, 191, 21))
        font = QtGui.QFont()
        font.setFamily("Myanmar Text")
        font.setPointSize(9)
        self.label.setFont(font)
        self.label.setStyleSheet("color: rgb(236, 240, 241);")
        self.label.setObjectName("label")
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "AC"))
        self.label.setText(_translate("MainWindow", "<strong>Name AC</strong>"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())


Ответы (1 шт):

Автор решения: S. Nick

Qt.FramelessWindowHint

Создает окно без полей. Пользователь не может перемещать или изменять размер окна без полей через оконную систему. В X11 результат установки флага зависит от оконного менеджера и его способности понимать подсказки Motif и/или NETWM. Большинство существующих современных оконных менеджеров могут справиться с этим.

Больше https://doc.qt.io/qt-5/qt.html#WindowType-enum

import sys
from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(460, 615)
        MainWindow.setBaseSize(QtCore.QSize(0, 0))
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.main_window_frame = QtWidgets.QFrame(self.centralwidget)
        self.main_window_frame.setGeometry(QtCore.QRect(5, 10, 450, 600))
        self.main_window_frame.setMaximumSize(QtCore.QSize(16777215, 16777215))
        self.main_window_frame.setStyleSheet("background-color: rgb(52, 73, 94);\n"
"border-radius: 20px;\n"
"\n"
"")
        self.main_window_frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.main_window_frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.main_window_frame.setObjectName("main_window_frame")
        self.tab_menu_frame = QtWidgets.QFrame(self.main_window_frame)
        self.tab_menu_frame.setGeometry(QtCore.QRect(0, 0, 450, 30))
        self.tab_menu_frame.setStyleSheet("background-color: rgb(35, 50, 65);\n"
"border-top-left-radius: 20px;\n"
"border-top-right-radius: 20px;\n"
"border-bottom-left-radius: 0px;\n"
"border-bottom-right-radius: 0px;")
        self.tab_menu_frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.tab_menu_frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.tab_menu_frame.setObjectName("tab_menu_frame")
        self.button_exit = QtWidgets.QPushButton(self.tab_menu_frame)
        self.button_exit.setGeometry(QtCore.QRect(415, 8, 15, 15))
        self.button_exit.setStyleSheet("QPushButton {\n"
"    border-radius: 7px;\n"
"    background-color: rgb(231, 76, 60);\n"
"}\n"
"QPushButton:hover:hover{\n"
"    background-color: rgb(192, 57, 43);\n"
"}")
        self.button_exit.setText("")
        self.button_exit.setObjectName("button_exit")
        self.button_fullscrean = QtWidgets.QPushButton(self.tab_menu_frame)
        self.button_fullscrean.setGeometry(QtCore.QRect(395, 8, 15, 15))
        self.button_fullscrean.setStyleSheet("QPushButton {\n"
"    border-radius: 7px;\n"
"    background-color: rgb(46, 204, 113);\n"
"}\n"
"QPushButton:hover:hover{\n"
"    background-color: rgb(39, 174, 96);\n"
"}")
        self.button_fullscrean.setText("")
        self.button_fullscrean.setObjectName("button_fullscrean")
        self.label = QtWidgets.QLabel(self.tab_menu_frame)
        self.label.setGeometry(QtCore.QRect(200, 4, 191, 21))
        font = QtGui.QFont()
        font.setFamily("Myanmar Text")
        font.setPointSize(9)
        self.label.setFont(font)
        self.label.setStyleSheet("color: rgb(236, 240, 241);")
        self.label.setObjectName("label")
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "AC"))
        self.label.setText(_translate("MainWindow", "<strong>Name AC</strong>"))


class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        
        self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint | QtCore.Qt.FramelessWindowHint)   # +++
        self.setAttribute(QtCore.Qt.WA_TranslucentBackground)                                 # +++
        
        # тут ваша логика
        

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка