是否可以在Qt中一次设置多个图标(即小部件中的所有图标)的图标大小?

时间:2019-07-02 19:03:15

标签: c++ qt icons

我有一个小部件,其中包含来自各种不同来源的多个图标,我想增加图标的大小。

在此一个小部件中,大小仅需增加,而在其他窗口中则无需增加,因此我不能仅调整图标所基于的.png文件的大小。

是否可以使用for循环引用小部件中的每个图标,然后在循环体内执行类似button1->setIconSize(QSize(100, 100));的操作?我无法找到任何类型的小部件的任何属性,这些属性无法让您访问该小部件中的所有图标

我愿意接受任何想法

1 个答案:

答案 0 :(得分:0)

我为你写了一个例子

btn1 = new QToolButton(this);
btn2= new QToolButton(this);
btn3 = new QToolButton(this);

btn1->setFixedSize(80,80);
btn2->setFixedSize(80,80);
btn3->setFixedSize(80,80);

QIcon icon1;
iconRe.addFile(QString::fromUtf8("path/icon.png"), QSize(), QIcon::Normal, QIcon::Off);
btn1->setIcon(icon1);
btn1->setIconSize(QSize(24, 24));

QIcon icon2;
iconte.addFile(QString::fromUtf8("path/icon.png"), QSize(), QIcon::Normal, QIcon::Off);
btn2->setIcon(icon2);
btn2->setIconSize(QSize(50, 50));


QIcon icon3;
icondelete.addFile(QString::fromUtf8("path/icon.png"), QSize(), QIcon::Normal, QIcon::Off);
btn3->setIcon(icon3);
btn3->setIconSize(QSize(70, 70));

结果就是这样

enter image description here