PySide6如何为QAction设置图标文本,是否有类似setToolButtonStyle的方法?
QAction 本身没有对应setToolButtonStyle()的方法,该样式控制属于承载 QAction 的控件(如 QToolBar、QToolButton)的配置范畴,你遇到的setIconText()不生效的问题,是因为默认工具栏的按钮样式为仅显示图标,修改对应控件的样式配置即可显示文字。
方案1:全局修改工具栏所有按钮的显示样式
如果希望工具栏上所有按钮都显示图标+文字,直接给 QToolBar 设置样式即可,此前给 QAction 设置的iconText会自动生效:
from PySide6.QtCore import Qt # 替换为你自己的工具栏实例变量 your_toolbar.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
方案2:仅修改当前QAction对应按钮的显示样式
如果不需要调整整个工具栏的样式,仅需要当前Action的按钮显示文字,可以在将Action添加到工具栏后,获取对应QToolButton实例单独设置:
from PySide6.QtCore import Qt # 先将action添加到工具栏 your_toolbar.addAction(button_action) # 获取action对应的按钮实例 tool_button = your_toolbar.widgetForAction(button_action) # 单独设置该按钮的显示样式 tool_button.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
可选的按钮样式枚举值
Qt.ToolButtonIconOnly:仅显示图标(默认值)Qt.ToolButtonTextOnly:仅显示文字Qt.ToolButtonTextBesideIcon:文字显示在图标旁Qt.ToolButtonTextUnderIcon:文字显示在图标下方
最终可实现的效果参考:
内容的提问来源于stack exchange,提问作者Filippo Boido
相关产品推荐
相关产品推荐

