如何为QFrame的左,右和顶部提供渐变

时间:2014-12-29 13:15:54

标签: qt

我在主窗口中使用了QFrame。此QFrame的背景颜色要求是

Background
Color 69/69/69
Top-outline 1px; 90/90/90
Right-outline 1px; 49/49/49
Shadow inside 16px; color 0/0/0;
opacitity 15%

并在此框架顶部有一条线

Line
Size 1px
Color 49/49/49

在这里,我无法为背景赋予阴影效果。使用的样式表是:

ui.theFRStatusBar->setStyleSheet(" \
   border-right: 1px solid #313131; \
   border-top:1px solid #313131;\
   background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\
   stop: 0 #5A5A5A,stop: 0.05 #5A5A5A,stop:0.06 rgb(0,0,0,38.5),stop:0.43 rgb(0,0,0,38.5), stop:0.44 #454545); \
   ");

使用这个我能够仅为顶部提供阴影效果,我确实想要为此帧的右端提供相同的阴影效果。

供参考的图片:qframe image

如何实现这一目标?非常感谢您的支持。

1 个答案:

答案 0 :(得分:0)

你可能想要使用qradialgradient。

请参阅http://doc.qt.io/qt-5/stylesheet-reference.html#list-of-properties

这样的事情会给你一个类似于你想要做的结果:

background: qradialgradient(cx:0.5, cy:0.5, radius: 2.5,
              fx:0.5, fy:0.5, stop:0 white, stop:1 black);

您可以查看http://doc.qt.io/qt-5/qradialgradient.html或只是稍微使用这些值来实现您的需求。