2012-03-23 15 views
0

paintEventのqsliderの目盛りを描画したいので、各目盛りの正確な位置を取得する必要があります。ご存じのように、スライダのハンドルにはスペースが必要なため、最初の目盛りはスライダの左/上の位置には置かれず、数ピクセルのオフセットがあります。最大値を示す最後の目盛りにも同じことが起こります。私は空間のどのくらいのピクセルを知りたいですか? (winとmacではハンドルが同じ幅でない)Qsliderの最初と最後の目盛の位置を取得する方法は?

答えて

1

Qtのソースコードをダウンロードしてコピーしてください。あなたは、キーの計算の一部から来るなど、QWindowsXPStyle、すなわちQMacStyle、様々なQ...Styleクラスで見たいと思うでしょう:

  • QStyle :: sliderPositionFromValue()メソッド
  • QStyle :: pixelMetric(QStyle ::スライダコントロールが描画されるcase CC_Slider:のための様々な方法drawComplexControl、中PM_SliderTickmarkOffset、...)

ルック。 Qt 4.7コードでは、これは例えばline 2699 in qwindowsxpstyle.cppで始まります。

+0

ありがとう、このアドバイスは私に多くの助けになります。 – Royt

関連する問題