PyQt5中如何调整QToolBar上QAction按钮的显示尺寸
解决方案
QAction属于抽象动作类,本身不是可视化控件,因此无法直接调用geometry这类控件专属方法,你不需要改动现有QAction的配置,可选用以下任意方案实现按钮尺寸调整:
- 方案1:全局统一调整工具栏所有按钮尺寸
直接调用QToolBar的setIconSize方法设置统一尺寸,适配你已经设置的75px高的工具栏:
首先导入QSize类:
from PyQt5.QtCore import QSize
在导航栏配置段添加代码:
# 尺寸数值可根据实际显示效果调整 self.navigation_bar.setIconSize(QSize(55, 55))
- 方案2:通过样式表同时控制按钮尺寸和字体
你已经给导航栏配置了样式表,直接追加QToolButton的规则即可,完全不影响原有QAction逻辑:
将原有的样式表代码替换为:
self.navigation_bar.setStyleSheet(''' background-color: white; QToolButton { min-width: 60px; min-height: 60px; font-size: 28px; /* 调整箭头、房子等符号的字体大小 */ padding: 5px; } ''')
- 方案3:单独调整指定按钮的尺寸
如果不需要全局调整,仅要修改单个按钮的尺寸,可以用QToolBar的widgetForAction()方法拿到QAction对应的实际按钮控件,再单独调整:
# 以调整返回按钮为例 back_button_widget = self.navigation_bar.widgetForAction(back_button) back_button_widget.setMinimumSize(60, 60) # 也可以单独给这个按钮设置样式 back_button_widget.setStyleSheet("font-size: 30px;")
关于字体大小的问题
修改字体大小确实可以让对应的按钮变大。QToolButton默认会根据内部的文本、图标大小自动计算适配尺寸,只要你没有手动固定按钮的最大尺寸,调大字体后按钮会自动被撑开变大,不需要额外修改其他配置。
内容的提问来源于stack exchange,提问作者Zany_Zachary1
相关产品推荐
相关产品推荐

