2014-01-15 2 views
12

Как изменить IconSize QToolButton.Как изменить IconSize QToolButton

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

При использовании вышеуказанного размера кнопки кнопки изменяется, но значок внутри кнопки не изменяется.

ответ

12

Как насчет

button1->setFixedSize(100,100); 
button1->setIconSize(QSize(100, 100)); 

Если кнопка лежит на панели инструментов используйте

toolBar->setIconSize(QSize(100, 100)); 

вместо кнопки изменения размера иконок. Если вы хотите иметь разные размеры на панели инструментов, то измените их на setFixedSize(). Конечно, максимальным из них должен быть размер значка QToolBar.

+0

Да, это сработало. Но если я хочу установить размер значка 1-й кнопки (100 100) и другой (200,200), то что мне делать – Rupesh

+0

Размер в toolBar - это значки панели инструментов максимального размера. Установите его на некоторое максимальное значение и используйте более низкие (разные) значения для значков. – wolf9000

+1

@Rupesh, отредактировал ответ. В этом случае вам необходимо назначить (200, 200) на панель инструментов и (100, 100) на фиксированный размер кнопки – dvvrd

1

От 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, который устанавливает максимальные значки размера на панели инструментов. Сами значки могут иметь разный размер.

+0

Нет, я попробовал эти два. Но это не работает. – Rupesh

+0

Создана ли ваша 'button1' с помощью Qt Designer? Можете ли вы проверить, есть ли какие-либо свойства, которые вы, возможно, случайно установили (выделены полужирным шрифтом), которые могут помешать изменению размера кнопки? Является ли кнопка частью макета или сеткой? – wolf9000

+0

NO, я не создал, использует QTDesigner. QToolButton является частью QToolBar, а QtoolBar является частью макета. Размер кнопки увеличивается, но не размер значка – Rupesh

Смежные вопросы