我想在顶部有两个工具栏,但它们只是保持在一起
#The main toolbar
self.formatbar = QToolBar()
self.addToolBar( Qt.TopToolBarArea , self.formatbar )
self.formatbar.addSeparator()
self.formatbar.addWidget(self.fontComboBox)
self.formatbar.addWidget(self.fontSizeComboBox)
self.formatbar.addAction(closeActionTB)
self.formatbar.addAction(openActionTB)
self.formatbar.addAction(saveActionTB)
self.formatbar.addAction(capitalActionTB)
self.formatbar.addAction(smallActionTB)
self.formatbar.addAction(colorActionTB)
self.formatbar.addAction(colorActionBGTB)
self.formatbar.addAction(zoomInActionTB)
self.formatbar.addAction(zoomOutActionTB)
self.formatbar.addAction(changeBoldActionTB)
self.formatbar.addAction(changeItalicActionTB)
self.formatbar.addAction(changeFontUnderlineActionTB)
self.formatbar.addAction(undoActionTB)
self.formatbar.addAction(redoActionTB)
self.formatbar.addAction(magnifyTB)
self.formatbar.addAction(demagnifyTB)
self.formatbar.addAction(printActionTB)
self.formatbar.addAction(findActionTB)
self.formatbar.addAction(alLeftTB)
self.formatbar.addAction(alRightTB)
self.formatbar.addAction(alCenterTB)
self.formatbar.addAction(alJustifyTB)
self.formatbar.addAction(bulletListActionTB)
self.formatbar.addAction(numberListActionTB)
#here the toolbar finishes so i want a new toolbar
self.formatbar2 = QToolBar()
self.insertToolBar(self.formatbar,self.formatbar2)
self.formatbar2.addAction(indentTB)
self.formatbar2.addAction(deindentTB)
self.formatbar2.addAction(clearTB)
self.formatbar.addAction(copyRightsTB)
第一张图片是如何立即使用工具栏,第二张图片是我希望它如何
答案 0 :(得分:1)
根据docs:
void QMainWindow :: insertToolBar(QToolBar *之前,QToolBar *工具栏)
将工具栏插入到之前工具栏占用的区域中 它出现在它之前。例如,在正常的从左到右的布局中 操作,这意味着工具栏将出现在左侧 之前在水平工具栏区域中指定的工具栏。
也就是说它将它置于before
的位置,取而代之,并且正如我们所观察到的那样,它实现了它,但它不是你所期望的。
您必须使用addToolBarBreak
:
void QMainWindow :: addToolBarBreak(Qt :: ToolBarArea area = Qt的:: TopToolBarArea)强>
在所有其他对象之后向指定区域添加工具栏分隔符 存在。
在你的情况下:
self.formatbar = QToolBar()
self.addToolBar( Qt.TopToolBarArea , self.formatbar )
# add actions and widgets
self.addToolBarBreak(Qt.TopToolBarArea) # or self.addToolBarBreak()
self.formatbar2 = QToolBar()
self.addToolBar( Qt.TopToolBarArea , self.formatbar2)
# add actions and widgets