tru*_*ru7 3 qt slider custom-draw
我想截取QSlider上的QPaintEvent并绘制它.但是我无法找到关于物体几何形状的细节.我可以知道整个小部件的rect(),但是如何判断小部件矩形中第一个tickmark或最后一个的位置?(跟踪通道左右两侧有一个边距).还是"手柄"的矩形?
感谢回复中的提示.经过一番调查后,这似乎有效.如果它对某人有用:
QStyleOptionSlider opt;
slider->initStyleOption(&opt);
QStyle *styl=style();
Rect rectHandle=styl->subControlRect(QStyle::CC_Slider, &opt, QStyle::SC_SliderHandle, NULL);
Rect rectGroove=styl->subControlRect(QStyle::CC_Slider, &opt, QStyle::SC_SliderGroove, NULL);
int avl=styl->pixelMetric(QStyle::PM_SliderSpaceAvailable, &opt, this); // width in an horizontal slider of the groove (width of widget - margins)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5367 次 |
| 最近记录: |