1

我有这个代码

    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())

这给了我这个

在此处输入图像描述

我用了

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

在工具栏按钮的右侧显示文本并将所有工具栏按钮图像向左对齐。但是文本没有出现在右侧。

如果我删除QtCore.Qt.AlignLeading,

我得到这样的未对齐(左侧)按钮

在此处输入图像描述

(1) 如何让我的工具栏按钮图标向左对齐并同时在右侧显示文本?

另一个问题是

raised button(2)当我将鼠标悬停在每个按钮上时,如何调整效果的宽度?我希望所有按钮的宽度相同。宽度似乎因文本的长度而异。

在此处输入图像描述 在此处输入图像描述

4

1 回答 1

0

恕我直言,问题是 QToolBar 单独决定每个按钮的大小,完全忽略相邻按钮。但是您可以手动设置大小:

for action in my_toolbar.actions():
    widget = my_toolbar.widgetForAction(action)
    widget.setFixedSize(width, height)
于 2013-09-13T09:50:49.190 回答