因此,当我尝试向MainWindow添加布局时self.mainLayout = QtWidgets.QVBoxLayout(self.MainWindow)
我收到以下错误:QLayout: Attempting to add QLayout "" to QMainWindow "MainWindow", which already has a layout
如何获得默认布局?这可能吗?
QMainWindow
布局是非常自定义的,由一个中央小部件和其他动态部分(例如菜单、状态栏、工具栏、停靠区(组成。替换它没有多大意义,因为那样你只需要从一个普通的QWidget
开始。
通常要在QMainWindow
上编辑的布局是其centralWidget
的布局。您可以获取/设置它,并对其进行相应的操作(包括布局(。
正如其他人所回答的那样,QMainWindow
有自己的布局。
但是,如果您想在主窗口的中心小部件中添加一个固定大小的小部件,那么您可能可以使用小部件的setFixedSize
方法,将其添加到中心小部件。
示例:
centralWidget = QtGui.QWidget(self)
layout = QtGui.QHBoxLayout(centralWidget)
#Set the fixed size
anotherWidgetOne.setFixedSize(20,20)
#Add other widgets to the central widget
layout.addWidget(self.anotherWidgetOne)
#Set the central widget
self.setCentralWidget(self.centralWidget)