LINUX.ORG.RU

Как установить одинаковый размер иконок (16x16 px) сразу для всего приложения?


0

1

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

Однако в настоящий момент у меня в коде после каждого создания каждого тулбара прописано:

QSize toolBarIconSize(16,16);
toolsLine->setIconSize(toolBarIconSize);

В связи с чем два вопроса:

1. Хотелось бы избавиться от setIconSize() возле каждого места создания тулбара или отдельной кнопки, и задать размер иконок только один раз в приложении. Можно ли это сделать?

2. Так как приложение кроссплатформенное (Linux, Win, Android) и используется на мониторах с разным размером пикселя, физические размеры иконки в 16x16 пикселей могут быть разными: и ~2 mm (ретина) и ~8 mm (обычный старенький монитор). Как установить размер иконок не в пикселях, а в миллиметрах? Или в каких-нибудь других величинах (пунктах, pt), привязанных к физическому миру?

★★★★★

Хотелось бы избавиться от setIconSize() возле каждого места создания тулбара или отдельной кнопки, и задать размер иконок только один раз в приложении. Можно ли это сделать?

Варианты задания размеров иконок для всех объектов:

1. Наследуй QToolBar и QToolButton, задай в конструкторе нужный размер иконок.

2. Наследуй QStyle и переопредели pixelMetrics для иконок.

grondek
()
Последнее исправление: grondek (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.