QScrollBar的句柄如何样式化和可伸缩?
How can the handle of a QScrollBar be styled and made scalable?
我有一个样式的QScrollBar在我的表上,它使用图像作为滚动条的手柄。手柄的边缘是圆形的(当然,图像的边缘是透明的)。现在的问题是,我似乎不能很好地调整它的大小。这是一个垂直滚动条,所以我发现到目前为止工作的唯一方法是设置:
background-image: url(:/res/img/scrollbar-vhandle.png);
background-repeat: repeat-y;
在我的样式表。这是它应该做的,只是我的滚动条看起来很丑,特别是因为圆角。
可以通过从它的y中心重复1px高的线来"拉伸"图像。但即使是y型拉伸也是可以的。我就是找不到一个好的方法来做这件事。像QPushButton这样的东西,其中9个图像可以用于一个按钮,以便缩放,但不幸的是,它似乎不像。
所以,如果有人能让我知道,如果这是一种方式来做到这一点,通过样式表(或从QScrollBar派生,并重新绘制手柄),我将非常感激。
如果你需要更多的信息,请告诉我。
正如您所说,您可以从滚动条继承并重载paintEvent函数。在这里,你几乎可以做任何你想做的事情,例如,通过重复那条线并绘制它来计算新的像素图。实际上,QPixmap中有几个函数可以使此操作相对容易。