Qt关于QAction添加左侧对勾后尺寸调整的问题

一个QAction通过样式表调整了它的整体大小后,使用了setCheckable和setChecked在左侧添加了对勾来提示,右边文本增大后,左边的对勾并没有改变大小,应该如何改变大小?

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

当你使用样式表调整一个QAction的大小时,你需要同时更新QAction中的图标尺寸,否则图标可能会失真或者不会按预期呈现。

要更新QAction中的图标尺寸,你需要使用QAction::setIconSize()方法来设置图标的大小属性。例如,假设你的样式表将QAction的宽度调整为100像素:

my_action.setStyleSheet("QAction { width: 100px; }")
你可以使用以下代码来更新它的图标大小:

my_action.setIconSize(QtCore.QSize(24, 24))
这里假设你要将图标大小设置为24x24像素。根据你自己的需求和样式表中QAction所设置的宽度不同,你需要自行调整图标的大小。

如果你已经设置了图标,调整图标的大小,然后更新QAction的状态以显示检查标记:

my_action.setIcon(new_icon) # new_icon为调整过大小的新图标
my_action.setCheckable(True)
my_action.setChecked(True)
这样,图标大小会相应地调整,并且检查标记旁边的文本也会调整大小以适应新的宽度。