Russian Qt Forum

Qt => Вопросы новичков => Тема начата: billy4685 от Сентябрь 29, 2015, 12:26



Название: Как изменить размер иконок кнопок в QSpinBox?
Отправлено: billy4685 от Сентябрь 29, 2015, 12:26
Здравствуйте, господа форумчане. 

Пишу тут одну небольшую программку для разных разрешений экрана. Для того чтобы все компоненты окна увеличивались или уменьшались при изменении разрешения экрана,
пользуюсь компоновкой и стретчами (stretch). Все вроде бы получалось, до тех пор пока не посмотрел на свой результат на разрешении экрана 800х600.

1. Заметил одну проблемку: если высота QSpinBox-а меньше за 16, то кнопки up-button и down-button уже отображаются некорректно (down-button не полностью влазит в
границы размеров QSpinBox-а) :(.
 Решил самостоятельно задавать размеры для up-button и double-button через styleSheet. Сработало  :). Сама кнопка down-button уже
помещалась, иконка даже смотрелись неплохо.
2. Но вскоре я заметил еще одну проблему: если ширина up-button или down-button меньше 16, то стандартная иконка уже не отображается на этих кнопках(высота роли не
играла). Беда  :-[... Решил, ничего, обойдем и эту проблему, задав теперь через в styleSheet-е для QSpinBox-ов размеры для up-arrow и down-arrow те же что и у up-button и
double-button. Увы но не помогло  :-\.
3. Сдаваться не стал. Начал рисовать свои иконки. В результате сделал две иконки up_arrow.png и down_arrow.png размером 3х2 px. Это позволило уже для up-button  и
down-button задавать ширину 12рх. Сначала обрадовался :D. Подумал, что все уже получилось, чуть ли в танец не бросился.
4. Но перейдя на режим с разрешением по-больше, увидел, что мои иконки не увеличиваются  :'(.

Тут терпение лопнуло, решил обратиться за помощью к людям. Ниже скину небольшую программку, которая демонстрирует, что мои иконки не меняют размер при изменении ширины
up/down -buttons.

Может кто-то поможет мне исправить в ней метод setStyleSpinBox() так, чтобы иконки up_arrow.png и down_arrow.png меняли свой размер с изменением ширины up/down -buttons.