Если вы еще этого не сделали, скачайте исходный код Qt и скопируйте, как они это делают. Вы захотите взглянуть на различные Q...Style
классы, т.е. QMacStyle
, QWindowsXPStyle
и т. Д. Некоторые из ключевых расчетов получены из:
- Метод QStyle :: sliderPositionFromValue ()
- QStyle :: pixelMetric (QStyle :: PM_SliderTickmarkOffset, ...)
Посмотрите различные drawComplexControl
методы для case CC_Slider:
, где отображаются элементы управления ползунка. В коде Qt 4.7 это начинается, например, со строки 2699 в qwindowsxpstyle.cpp .