我正在尝试通过重新实现QScrollBar函数对paintEvent进行外观设置,但是遇到了麻烦。我在滚动条上的按钮上找不到任何信息,并且只能在实际的滑块(可以抓住和拖动的手柄)上找到(有限的)信息。我也看了QStyle,它仍然只提供滚动手柄而不是按钮的信息。硬编码或使用幻数不是一种选择,因为按钮在不同的操作系统上的放置方式不同(请参阅:Here)。有什么办法以编程方式获取滚动条的布局,以便我可以准确地将按钮和滚动手柄渲染到正确的位置?

最佳答案

由于绘画本身是通过基础样式完成的,所以我建议以下做法不是QScrollBar本身:


使用QProxyStyle覆盖QScrollBar的绘制。
这就是Qt paints QScrollBar的方式。您可以选择


作为替代方案,我建议使用Qt样式表来更改QScrollBar的外观

关于c++ - Qt-QScrollBar外观问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8674508/

10-11 18:49