Я не уверен, что правильно понимаю, но если вы ищете способ центрировать кнопки на панели инструментов относительно QMainWindow
, то да (хак). Вам просто нужно поставить виджет, который действует как «спейсер». Это в основном QWidget
с expanding
политикой размера.
Вот минимальный пример:
import sys
from PyQt4 import QtGui
app = QtGui.QApplication(sys.argv)
main = QtGui.QMainWindow()
toolbar = QtGui.QToolBar()
# spacer widget for left
left_spacer = QtGui.QWidget()
left_spacer.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
# spacer widget for right
# you can't add the same widget to both left and right. you need two different widgets.
right_spacer = QtGui.QWidget()
right_spacer.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
# here goes the left one
toolbar.addWidget(left_spacer)
# some dummy actions
toolbar.addAction('one')
toolbar.addAction('two')
toolbar.addAction('three')
# and the right one
toolbar.addWidget(right_spacer)
main.addToolBar(toolbar)
main.show()
sys.exit(app.exec_())
Что дает вам это: