控件及窗口设置阴影
在QT中給控件和窗口设置一个底部阴影,可以通过设置QGraphicsEffect来完成。在众多继承它的子类中存在一个QGraphicsDropShadowEffect的类,这个类就是来设置底部阴影的类。
如下事例:
#include "mainwindow.h"
#include <QGraphicsDropShadowEffect>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
this->setGeometry(0,0,200,200);
m_btn = new QPushButton(this);
m_btn->move((width() - m_btn->width())/2,(height() - m_btn->height())/2);
QGraphicsDropShadowEffect* effect = new QGraphicsDropShadowEffect(m_btn);
effect->setColor(Qt::red); //设置阴影颜色
effect->setBlurRadius(5); //设置阴影大小
effect->setXOffset(-5); //设置阴影X轴的位置
effect->setYOffset(-5); //设置阴影Y轴的位置
m_btn->setGraphicsEffect(effect); //设置阴影
}