我想创建一个包含不同滑块手柄的滑块,我想根据滑块中的滑块手柄位置进行绘制。
答案 0 :(得分:1)
答案 1 :(得分:1)
您可以使用QProxyStyle来绘制drawComplexControl方法 - 您必须自己绘制整个控件,因为QStyle :: ControlElement中没有单独的标志用于QSlider的部分。
答案 2 :(得分:0)
如果我理解正确,你想要一个滑块不仅会改变它的位置,还会改变它在滑动时的外观,对吗?例如,QDial和QSlider的混合,即。一个带旋钮的滑块。
如果是这样,您将需要子类化QSlider或QAbstractSlider(或QDial)并在您自己的paintEvent()中进行绘制。但请注意,除非您自己关心,否则您将失去所有风格意识(这本身就是一个有趣的话题,请参阅http://doc.qt.io/qt-4.8/style-reference.html了解更多信息)。
Qt演示和示例,或QSlider / QDial源代码本身可以作为如何重载paintEvent()的示例。