I have this QMenuBar and I wanted to put a button on the screen and for some reason it just overlaps the menubar...?
Here is my code:
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)
How do I fix this?
Your window has no central Widget
Add this to your constructor.
self.central = QWidget()
self.setCentralWidget(self.central)
and change these lines
self.setLayout(self.vbox)
to
self.central.setLayout(self.vbox)