如何使用样式表在MacOS上自定义QSlider的句柄

时间:2012-04-25 06:09:01

标签: qt stylesheet handle qt4.7 qslider

在MacOS 10.6上,QSlider的默认句柄是一个球,如果QSlider有蜱,那么手柄会改变它的外观(一边是箭头形状),我想要这种手柄,但我不喜欢这个蜱虫Qt提供。所以,我想将句柄图片存储为qrc资源,并使用样式表来自定义qslider的外观。这是我能弄明白的唯一方法。

有人能告诉我如何编写样式表,我的意思是一切都保持不变,但只有句柄更改。

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

2 个答案:

答案 0 :(得分:2)

您必须更改整个QSlider才能管理此类内容。否则它将回退到默认的Mac OS X绘画风格。因此,您必须更改QSlider的边框和背景并自行处理。看一下这个example

答案 1 :(得分:2)

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

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

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