Qt 如何获得Qslider中第一个和最后一个记号的位置?
我想在paintEvent中为qslider画一个记号,所以我应该得到每个记号的确切位置。正如您所知,滑块的控制柄占用了一些空间,因此第一个记号不在滑块的左/顶部位置,有几个像素的偏移。指示最大值的最后一个记号也会发生同样的情况。我想知道这个空间有多少像素?(在win和mac上,句柄的宽度不相同)如果您尚未这样做,请下载Qt源代码并复制它们的操作方式。您需要查看各种Qt 如何获得Qslider中第一个和最后一个记号的位置?,qt,qt4,qslider,Qt,Qt4,Qslider,我想在paintEvent中为qslider画一个记号,所以我应该得到每个记号的确切位置。正如您所知,滑块的控制柄占用了一些空间,因此第一个记号不在滑块的左/顶部位置,有几个像素的偏移。指示最大值的最后一个记号也会发生同样的情况。我想知道这个空间有多少像素?(在win和mac上,句柄的宽度不相同)如果您尚未这样做,请下载Qt源代码并复制它们的操作方式。您需要查看各种Q…Style类,即QMacStyle、QWindowsXPStyle等。一些关键计算来自: QStyle::sliderPosi
Q…Style
类,即QMacStyle
、QWindowsXPStyle
等。一些关键计算来自:
- QStyle::sliderPositionFromValue()方法
- QStyle::pixelMetric(QStyle::PM_SliderTickmarkOffset,…)
查看绘制滑块控件的
案例CC\u Slider:
的各种drawComplexControl
方法。例如,在Qt4.7代码中,这从开始 非常感谢你,这条建议对我帮助很大。