1

在 MacOS 10.6 上,QSlider 的默认手柄是球,如果 QSlider 有刻度,则手柄会改变其外观(一侧箭头形状),我想要这种手柄,但我不喜欢 Qt 提供的刻度。因此,我想将句柄的图片存储为 qrc 资源并使用样式表来自定义 qslider 的外观。这是我能弄清楚的唯一方法。

谁能告诉我如何编写样式表,我的意思是一切都保持不变,只是句柄发生了变化。

BTW,还有一个问题。MacOS上默认的QSlider,手柄无法到达凹槽的最左和最右位置,如何使用样式表进行调整?

4

2 回答 2

2

你必须改变整个 QSlider 来管理这些事情。否则它将退回到默认的 Mac OS X 绘画风格。因此,您必须更改 QSlider 的边框和背景并自行处理。看看这个例子

于 2012-04-25T08:02:09.947 回答
2

在资源 (.qrc) 文件中添加所需句柄的图像。用 Photoshop 制作您喜欢的手柄(或使用其他程序)应该很容易。然后尝试在您的代码中添加它

setStyleSheet("QSlider::handle {image: url(:/resources/image.png);}");

您可能需要对填充和边距进行一些试验,以使滑块按您想要的方式定位。

于 2012-04-25T11:11:04.213 回答