2013-09-13 3 views
1

У меня есть этот кодPyQt4 Кнопка панели инструментов Выравнивание

Menu = self.menuBar() 
    EditMenu = Menu.addMenu("&File") 
    OptionMenu = Menu.addMenu("&Options") 
    HelpMenu = Menu.addMenu("&Help") 
    EditMenu.addActions((fileNewAction,faultAction,storeAction,localAction,scheduleAction)) 
    OptionMenu.addAction(settingAction) 

    Toolbar = QtGui.QToolBar() 
    Toolbar.setIconSize(QtCore.QSize(50,50)) 
    Toolbar.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon|QtCore.Qt.AlignLeading) #<= Toolbuttonstyle 
    self.addToolBar(QtCore.Qt.LeftToolBarArea,Toolbar) 
    Toolbar.addActions((fileNewAction,faultAction,scheduleAction,storeAction,localAction,settingAction)) 
    settings = QtCore.QSettings() 
    self.restoreGeometry(settings.value("Geometry").toByteArray()) 

, которые дают мне это

enter image description here

я использовал

Toolbar.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon|QtCore.Qt.AlignLeading) 

для отображения текста на правой стороне кнопку панели инструментов и выровнять все изображения кнопок на панели инструментов слева. Но тексты не отображаются с правой стороны.

Если я удалить QtCore.Qt.AlignLeading,

я невыровненные кнопки (левая сторона), как это

enter image description here

(1) Как я могу получить мои иконки панели инструментов кнопку выравнивания влево и дисплей текст на правой стороне в то же время?

Другой вопрос

(2) Как настроить ширину raised button эффекта, когда я мыши над на каждой кнопке? Я хочу, чтобы ширина всех кнопок была одинаковой. Ширина, по-видимому, различна в зависимости от того, как долго текст.

enter image description here enter image description here

ответ

0

ИМХО, проблема заключается в QToolBar принимает решение о размере каждой кнопки в отдельности, полностью игнорируя соседние кнопки. Но вы можете установить размер вручную:

for action in my_toolbar.actions(): 
    widget = my_toolbar.widgetForAction(action) 
    widget.setFixedSize(width, height) 

 Смежные вопросы

  • Нет связанных вопросов^_^