样式表是改变 Qt 中任何小部件外观的强大机制。
请参阅here 获取快速教程,here 获取参考指南。可以使用 Designer 中的编辑器分配样式表,或使用 setStylesheet(QString) 作为字符串传递。使用 Designer 肯定更容易,因为这样您就可以在运行之前查看小部件的外观。
现在,针对您的具体问题。 QSplitter 本质上是一个 QFrame。但它也包括一个手柄 - 如您所知。所以通常这就是通常的样式。
所以,例如你可以这样做:
QSplitter::handle {
image: url(:/images/splitter.png);
}
它为拆分器句柄提供图像。这有点类似于在 Motif 下所做的,其中始终显示一个小矩形手柄,用户可以单击以移动拆分器。
通过一些实验,您可以为您的手柄创建一个很酷的分隔线。
QSplitter::handle {
background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0,
stop:0 rgba(255, 255, 255, 0),
stop:0.407273 rgba(200, 200, 200, 255),
stop:0.4825 rgba(101, 104, 113, 235),
stop:0.6 rgba(255, 255, 255, 0));
image: url(:/images/splitter.png);
}
或者类似这样的画。
QSplitter::handle:horizontal {
background: qlineargradient(x1:0, y1:0, x2:1, y2:1,
stop:0 #eee, stop:1 #ccc);
border: 1px solid #777;
width: 13px;
margin-top: 2px;
margin-bottom: 2px;
border-radius: 4px;
}
对于最后一个,我们专门只覆盖水平分割器,因为某些属性 - 如顶部和底部边距,以及如果我们更改垂直分割器需要不同的宽度。
希望这会有所帮助。一旦您开始使用样式表,乐趣就真正开始了。