def addAction(self, action): super(FixedWidthVerticalToolBar, self).addAction(action) b = QtWidgets.QToolButton() b.setDefaultAction(action) self.layout().takeAt(self.layout().count() - 1) self.layout().addWidget(b, 0, Qt.AlignHCenter) self.layout().addStretch(1) self.setFixedWidth(self.sizeHint().width())
def addAction(self, action) -> QtWidgets.QToolButton: super(SimpleToolBar, self).addAction(action) b = QtWidgets.QToolButton() b.setDefaultAction(action) self.addWidget(b) return b
from mesycontrol.qt import Qt from mesycontrol.qt import QtCore from mesycontrol.qt import QtGui from mesycontrol.qt import QtWidgets from mesycontrol.qt import PySide2 if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) centerWidget = QtWidgets.QWidget() centerLayout = QtWidgets.QVBoxLayout(centerWidget) for i in range(10): letterCount = random.randint(0, 10) buttonText = f"Button {i}" + "z" * letterCount button = QtWidgets.QToolButton() button.setText(buttonText) button.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) centerLayout.addWidget(button) centerLayout.addStretch(1) centerWidget.setFixedWidth(centerWidget.sizeHint().width()) leftTree = QtWidgets.QTreeView() rightTree = QtWidgets.QTreeView() splitter = QtWidgets.QSplitter() splitter.setChildrenCollapsible(False) splitter.addWidget(leftTree) splitter.addWidget(centerWidget)