【问题标题】:How to change IconSize of QToolButton如何更改 QToolButton 的 IconSize
【发布时间】:2014-01-15 09:32:41
【问题描述】:

如何改变QToolButton的IconSize。

button1->setIcon(QIcon("download.jpg"));
button1->setFixedSize(100,100);

通过使用上面的代码按钮大小正在改变,但按钮内的图标没有改变。

【问题讨论】:

    标签: c++ qt qtgui qicon


    【解决方案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。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    相关资源
    最近更新 更多