tool_bar.py 940 B

1234567891011121314151617181920212223242526
  1. from qtpy import QtCore
  2. from qtpy import QtWidgets
  3. class ToolBar(QtWidgets.QToolBar):
  4. def __init__(self, title):
  5. super(ToolBar, self).__init__(title)
  6. layout = self.layout()
  7. m = (0, 0, 0, 0)
  8. layout.setSpacing(0)
  9. layout.setContentsMargins(*m)
  10. self.setContentsMargins(*m)
  11. self.setWindowFlags(self.windowFlags() | QtCore.Qt.FramelessWindowHint)
  12. def addAction(self, action):
  13. if isinstance(action, QtWidgets.QWidgetAction):
  14. return super(ToolBar, self).addAction(action)
  15. btn = QtWidgets.QToolButton()
  16. btn.setDefaultAction(action)
  17. btn.setToolButtonStyle(self.toolButtonStyle())
  18. self.addWidget(btn)
  19. # center align
  20. for i in range(self.layout().count()):
  21. if isinstance(self.layout().itemAt(i).widget(), QtWidgets.QToolButton):
  22. self.layout().itemAt(i).setAlignment(QtCore.Qt.AlignCenter)