#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
this->setWindowFlags(Qt::Tool|Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint);//悬浮窗|取消标题栏
this-> setAutoFillBackground(false); //这个不设置的话就背景变黑
this->setAttribute(Qt::WA_TranslucentBackground);//设置窗口背景透明
auto blurEffect = new QGraphicsBlurEffect(ui->label);
blurEffect->setBlurRadius(2);
ui->label->setGraphicsEffect(blurEffect);
QTimer::singleShot(0,this,SLOT(myslot_creat()));
}
void Widget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
// ui->label->setStyleSheet("");
// this->update();
}
Widget::~Widget()
{
delete ui;
}
void Widget::myslot_creat()
{
QPixmap m_pixmap = QPixmap::grabWindow(QApplication::desktop()->winId(),this->x()+ui->label->x(),this->y()+ui->label->y(),ui->label-> width(),ui->label->height());
ui->label->setPixmap(m_pixmap);
}
void Widget::on_verticalSlider_actionTriggered(int action)
{
}
void Widget::on_verticalSlider_valueChanged(int value)
{
auto blurEffect = new QGraphicsBlurEffect(ui->label);
blurEffect->setBlurRadius(value);
ui->label->setGraphicsEffect(blurEffect);
}
void Widget::on_pushButton_clicked()
{
auto blurEffect = new QGraphicsBlurEffect(ui->label);
blurEffect->setBlurRadius(0);
ui->label->setGraphicsEffect(blurEffect);
this->hide();
myslot_creat();
this->show();
// auto blurEffect = new QGraphicsBlurEffect(ui->label);
blurEffect->setBlurRadius(ui->verticalSlider->value());
ui->label->setGraphicsEffect(blurEffect);
}
void Widget::mousePressEvent(QMouseEvent *event)
{
if(event->button()==Qt::LeftButton){//左键拖动窗体
relativePos = this->pos()- event->globalPos();
}
}
void Widget::mouseReleaseEvent(QMouseEvent *event)
{
on_pushButton_clicked();
/* if (y() <= 0)
{
m_eEdgeStatus = EG_TOP;
}
else if (QApplication::desktop()->width() <= (this->x() + width()))
{
m_eEdgeStatus = EG_RIGHT;
}
else if (this->x() <= 0)
{
m_eEdgeStatus = EG_LEFT;
}
else if(QApplication::desktop()->height()<=(this->y() + height()))
{
m_eEdgeStatus = EG_BOTTOM;
}
else
{
m_eEdgeStatus = EG_NORMAL;
}
*/
}
void Widget::mouseMoveEvent(QMouseEvent *event)//移动窗体
{
this->move(event->globalPos() + relativePos);
}