Qt中实现线条阴影有两种办法
一、用label控件
label有上下两个边线 设置两条线挨着,然后分别设置上面和下面线的颜色就行了
这个是效果:
具体设置如下:
1、label控件上鼠标右键,改变样式表
2、编辑样式表, 添加颜色
编辑如下:
border-top: 3px solid rgb(255, 255, 255);
border-bottom: 1.5px solid rgb(66, 66, 66);
注意,此处必须设置线宽,因为默认线宽为0
由于这种方法本身是一个label,因此灵活性很差,上下两条线必须是长度相等且平行的。
二、绘制两条线
效果如下:
void Widget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
QPen pen;
pen.setColor(Qt::white);
painter.drawLine(2,502,602,502); //绘制阴影线条,画笔默认为黑色
painter.setPen(pen);//此处将画笔变为白色
painter.drawLine(0,500,600,500); //绘制线条
}
由于是绘制两条不同的线,因此对于线条的颜色、宽度、位置可以任意设置,是比较推荐的一种方法。