Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Kanstantsin Chernysh от Январь 03, 2006, 12:52



Название: [4.1]Slider фиксированного размера в QScrollBar
Отправлено: Kanstantsin Chernysh от Январь 03, 2006, 12:52
Qt4.1 win. В некоторых программах (к примеру Lister, который вызывается  по f3 в total cmd) размер слайдера в скролбаре всегда одного и того же размера вне зависимости от размера просматриваемого содержимого файла.
Как добиться такого эффекта при работе с QScrollBar. Я знаю, что это можно сделать пересчетом параметров скролбара при изменении его размера либо отображаемого файла, но интересует, возможно ли устновить это свойство с помощью каких-либо стилей.


Название: Slider фиксированного размера в QScrollBar
Отправлено: Dendy от Январь 03, 2006, 14:19
Делается стилями:

Код:
virtual QRect QStyle::subControlRect( ... );


Для слайдеров возвращаешь свои положения каждого под-елемента.


Название: Slider фиксированного размера в QScrollBar
Отправлено: Kanstantsin Chernysh от Январь 08, 2006, 16:46
Можно чуть подробнее? Для этого свой стиль создать придется?


Название: Slider фиксированного размера в QScrollBar
Отправлено: Dendy от Январь 12, 2006, 10:49
Да, нужно создавать свой стиль.

Смотри что делает ента функция для обьІчного стиля. Она смотрит размер страницьІ и относительно него считает размер ползунка, а относительно него и остальньІе размерьІ суб-елементов (кнопочка вверх-вниз, пространство под и над ползунком). Тебе всего-лишь нужно задать фиксированньІй размер ползунка, остальная логика будет такая же.