Есть ли способ установить размер значков для нескольких значков одновременно (т.е. всех значков в виджете) в Qt? - PullRequest
1 голос
/ 02 июля 2019

У меня есть виджет с несколькими значками из разных источников, и я хочу увеличить размер значков.

Размеры должны увеличиваться только внутри одного виджета, но не где-то еще, поэтому я не могу просто изменить размер файла .png, на котором основаны иконки.

Можно ли ссылаться на каждый значок в виджете, используя цикл for, а затем делать что-то вроде button1->setIconSize(QSize(100, 100)); в теле цикла? Мне не удалось найти какие-либо атрибуты виджетов любого типа, которые бы позволили вам получить доступ ко всем значкам в этом виджете

Я открыт для любых идей

1 Ответ

0 голосов
/ 05 июля 2019

Я написал для вас пример

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...