我的QMainWindow中的中央小部件一直覆盖着我想要的QMenuBar。如何避免这种情况?
如果我注释掉按钮,则可以使用下面的代码看到菜单栏。
from PyQt5 import QtWidgets
class Test:
def __init__(self):
self.app = QtWidgets.QApplication([])
self.win = QtWidgets.QMainWindow()
self.win.resize(100,100)
menu_bar = QtWidgets.QMenuBar(self.win)
file_menu = menu_bar.addMenu('&File')
pb = QtWidgets.QPushButton('push me!')
# self.win.setCentralWidget(pb)
self.win.show()
self.app.exec()
if __name__ == '__main__':
Test()
QMainWindow不能根据此分隔它们吗?
答案 0 :(得分:1)
您必须使用setMenuBar()
在QMainWindow中设置QMenuBar:
from PyQt5 import QtWidgets
class Test:
def __init__(self):
self.app = QtWidgets.QApplication([])
self.win = QtWidgets.QMainWindow()
self.win.resize(100,100)
menu_bar = QtWidgets.QMenuBar(self.win)
self.win.setMenuBar(menu_bar)
file_menu = menu_bar.addMenu('&File')
pb = QtWidgets.QPushButton('push me!')
self.win.setCentralWidget(pb)
self.win.show()
self.app.exec()
if __name__ == '__main__':
Test()