#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QPixmap"
#include "QPainter"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
shadowbackgroundlist.append(QPixmap("://shadow_left"));
shadowbackgroundlist.append(QPixmap("://shadow_left_top"));
shadowbackgroundlist.append(QPixmap("://shadow_top"));
shadowbackgroundlist.append(QPixmap("://shadow_right_top"));
shadowbackgroundlist.append(QPixmap("://shadow_right"));
shadowbackgroundlist.append(QPixmap("://shadow_right_bottom"));
shadowbackgroundlist.append(QPixmap("://shadow_bottom"));
shadowbackgroundlist.append(QPixmap("://shadow_left_bottom"));
setWindowFlags(Qt::FramelessWindowHint);
//setAttribute(Qt::WA_TranslucentBackground);
}
MainWindow::~MainWindow()
{
delete ui;
}
#define BORDER_TOP 8
#define BORDER_RIGHT 8
#define BORDER_BOTTOM 8
#define BORDER_LEFT 8
#define titleHeight 8
void MainWindow::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QSize VLeftShadowSize = QSize(BORDER_LEFT,this->height()-BORDER_TOP-BORDER_BOTTOM); /* 阴影垂直大小-左边 */
QSize VRightShadowSize = QSize(BORDER_RIGHT,this->height()-BORDER_TOP-BORDER_BOTTOM); /* 阴影垂直大小-右边 */
QSize HTopShadowSize = QSize(this->width()-BORDER_LEFT-BORDER_RIGHT,BORDER_TOP); /* 阴影水平大小-上边 */
QSize HBottomShadowSize = QSize(this->width()-BORDER_LEFT-BORDER_RIGHT,BORDER_BOTTOM); /* 阴影水平大小-下边 */
QSize CornerLTShadowSize = QSize(BORDER_LEFT,BORDER_TOP); /* 阴影大小-左上角 */
QSize CornerTRShadowSize = QSize(BORDER_TOP,BORDER_RIGHT); /* 阴影大小-右上角 */
QSize CornerLBShadowSize = QSize(BORDER_LEFT,BORDER_BOTTOM); /* 阴影大小-左下角 */
QSize CornerRBShadowSize = QSize(BORDER_RIGHT,BORDER_BOTTOM); /* 阴影大小-右下角 */
QRect LeftRectangle = QRect(QPoint(0,BORDER_LEFT),VLeftShadowSize);
QRect RightRectangle = QRect(QPoint(this->width()-BORDER_RIGHT,BORDER_TOP),VRightShadowSize);
QRect TopRectangle = QRect(QPoint(BORDER_LEFT,0),HTopShadowSize);
QRect BottomRectangle = QRect(QPoint(BORDER_LEFT,this->height()-BORDER_BOTTOM),HBottomShadowSize);
QRect CornerLTRectangle = QRect(QPoint(0,0),CornerLTShadowSize);
QRect CornerRTRectangle = QRect(QPoint(this->width()-BORDER_RIGHT,0),CornerTRShadowSize);
QRect CornerLBRectangle = QRect(QPoint(0,this->height()-BORDER_BOTTOM),CornerLBShadowSize);
QRect CornerRBRectangle = QRect(QPoint(this->width()-BORDER_RIGHT,this->height()-BORDER_BOTTOM),CornerRBShadowSize);
painter.drawPixmap(LeftRectangle, shadowbackgroundlist[0].scaled(VLeftShadowSize)); /* 贴图:左边 */
painter.drawPixmap(RightRectangle, shadowbackgroundlist[4].scaled(VRightShadowSize)); /* 贴图:右边 */
painter.drawPixmap(TopRectangle, shadowbackgroundlist[2].scaled(HTopShadowSize)); /* 贴图:上边 */
painter.drawPixmap(BottomRectangle, shadowbackgroundlist[6].scaled(HBottomShadowSize)); /* 贴图:下边 */
painter.drawPixmap(CornerLTRectangle, shadowbackgroundlist[1].scaled(CornerLTShadowSize)); /* 贴图:左上角 */
painter.drawPixmap(CornerRTRectangle, shadowbackgroundlist[3].scaled(CornerTRShadowSize)); /* 贴图:右上角 */
painter.drawPixmap(CornerLBRectangle, shadowbackgroundlist[7].scaled(CornerLBShadowSize)); /* 贴图:右下角 */
painter.drawPixmap(CornerRBRectangle, shadowbackgroundlist[5].scaled(CornerRBShadowSize)); /* 贴图:左下角 */
}