为什么我的 QPushButton 与 QMenuBar 重叠

Why is my QPushButton overlapping the QMenuBar

我有这个 QMenuBar,我想在屏幕上放一个按钮,但出于某种原因它只是与菜单栏重叠...?

这是我的代码:

class LeagueHelperWindow(QMainWindow):
    def __init__(self) -> None:
        super().__init__()
        self.setWindowTitle('League Helper')
        self.load_saved_settings()
        self.setup_menu_bar()

        self.vbox = QVBoxLayout(self)
        self.setLayout(self.vbox)
        
        self.button = QPushButton('Test', self)
        self.vbox.addWidget(self.button)
        self.vbox.addStretch()

        self.setLayout(self.vbox)
        
    def setup_menu_bar(self):
        menu_bar = QMenuBar(self)

        file_menu = menu_bar.addMenu('File')
        exit_action = file_menu.addAction('Exit')
        exit_action.triggered.connect(self.close)

        view_menu = menu_bar.addMenu('View')
        logs_action = view_menu.addAction('Logs')
        logs_action.setCheckable(True)
        logs_action.triggered.connect(self.display_log_window)

        help_menu = menu_bar.addMenu('Help')
        about_action = help_menu.addAction('About')
        about_action.triggered.connect(about_app)

        self.setMenuBar(menu_bar)

我该如何解决这个问题?

您的 window 没有中央小部件

将此添加到您的构造函数中。

self.central = QWidget()
self.setCentralWidget(self.central)

并更改这些行

self.setLayout(self.vbox)


self.central.setLayout(self.vbox)