如何更改 QToolButton 的 IconSize
Posted
技术标签:
【中文标题】如何更改 QToolButton 的 IconSize【英文标题】:How to change IconSize of QToolButton 【发布时间】:2014-01-15 09:32:41 【问题描述】:如何改变QToolButton的IconSize。
button1->setIcon(QIcon("download.jpg"));
button1->setFixedSize(100,100);
通过使用上面的代码按钮大小正在改变,但按钮内的图标没有改变。
【问题讨论】:
【参考方案1】:怎么样
button1->setFixedSize(100,100);
button1->setIconSize(QSize(100, 100));
如果您的按钮位于工具栏上,则使用
toolBar->setIconSize(QSize(100, 100));
而不是更改按钮图标大小。
如果您想在工具栏上有不同的大小,请使用setFixedSize()
改变它们。当然最大的应该是QToolBar图标大小。
【讨论】:
是的,它奏效了。但是,如果我想将第一个按钮图标大小设置为 (100,100),其他设置为 (200,200),那么我应该怎么做 toolBar 中的尺寸是工具栏图标可以拥有的最大尺寸。将其设置为某个最大值并为图标使用较低(不同)的值。 @Rupesh,编辑了答案。在这种情况下,您应该将 (200, 200) 分配给工具栏,将 (100, 100) 分配给按钮的固定大小【参考方案2】:从 https://qt-project.org/doc/qt-5/qabstractbutton.html#iconSize-prop
你可以试试
button1->setIconSize(QSize(100, 100));
或者您可以将button1
大小作为参数,
button1->setIconSize(button1->size());
此方法的唯一缺点是图标的缩放比例不会超过其原始大小的 100%。如果你想放大图标,你可以尝试重新实现QToolButton::setIconSize
方法,或者作为一个快速而肮脏的修复,使用图像编辑器调整图像大小。
如果使用 QToolBar,请使用QToolBar::setIconSize
方法,该方法设置工具栏中图标的最大 大小。图标本身可以有不同的大小。
【讨论】:
您的button1
是使用Qt Designer 创建的吗?您能否检查是否有任何您可能意外设置的属性(以粗体显示)可能会阻止该方法调整按钮的大小?按钮是布局还是网格的一部分?
NO 我没有创建是使用 QTDesigner。 QToolButton 是 QToolBar 的一部分,QtoolBar 是布局的一部分。按钮大小正在增加,但图标大小没有增加
你也应该使用 QToolBar::setIconSize。以上是关于如何更改 QToolButton 的 IconSize的主要内容,如果未能解决你的问题,请参考以下文章