Parcourir la source

V0.8.3
1、添加了弹窗的移动

Apple il y a 3 mois
Parent
commit
a1e7e72346
27 fichiers modifiés avec 314 ajouts et 45 suppressions
  1. 0 1
      External
  2. 49 12
      TransmitterSwitch/AddItem/addnormalitem.cpp
  3. 9 2
      TransmitterSwitch/AddItem/addnormalitem.h
  4. 47 10
      TransmitterSwitch/AddItem/addspecialitem.cpp
  5. 11 3
      TransmitterSwitch/AddItem/addspecialitem.h
  6. 1 1
      TransmitterSwitch/Resource/QSS/black/addnormalitem.qss
  7. 1 1
      TransmitterSwitch/Resource/QSS/black/addspecialitem.qss
  8. 1 1
      TransmitterSwitch/Resource/QSS/black/importtemplate.qss
  9. 1 1
      TransmitterSwitch/Resource/QSS/black/savetotemplate.qss
  10. 2 2
      TransmitterSwitch/Resource/QSS/black/transmitterswitch.qss
  11. 1 1
      TransmitterSwitch/Resource/QSS/black/warning.qss
  12. 2 2
      TransmitterSwitch/Resource/QSS/white/addnormalitem.qss
  13. 1 1
      TransmitterSwitch/Resource/QSS/white/addspecialitem.qss
  14. 1 1
      TransmitterSwitch/Resource/QSS/white/importtemplate.qss
  15. 1 1
      TransmitterSwitch/Resource/QSS/white/savetotemplate.qss
  16. 2 2
      TransmitterSwitch/Resource/QSS/white/transmitterswitch.qss
  17. 1 1
      TransmitterSwitch/Resource/QSS/white/warning.qss
  18. 34 0
      TransmitterSwitch/Template/importtemplate.cpp
  19. 8 0
      TransmitterSwitch/Template/importtemplate.h
  20. 35 0
      TransmitterSwitch/Template/savetotemplate.cpp
  21. 8 0
      TransmitterSwitch/Template/savetotemplate.h
  22. 20 0
      TransmitterSwitch/common/Shadow/OneShadowEffect.cpp
  23. 18 0
      TransmitterSwitch/common/Shadow/OneShadowEffect.h
  24. 36 0
      TransmitterSwitch/common/warning/warning.cpp
  25. 10 2
      TransmitterSwitch/common/warning/warning.h
  26. 12 0
      TransmitterSwitch/transmitterswitch.cpp
  27. 2 0
      TransmitterSwitch/transmitterswitch.h

+ 0 - 1
External

@@ -1 +0,0 @@
-/home/Apple/Libs/External

+ 49 - 12
TransmitterSwitch/AddItem/addnormalitem.cpp

@@ -8,13 +8,14 @@
 #include <QApplication>
 #include <QDesktopWidget>
 #include <QPainter>
+#include <QMouseEvent>
 
 #include "common/combobox/customcombobox.h"
 #include "LHQLogAPI.h"
 #include "TransmitterSwitchInfo.h"
 #include "common/SelectTime/timewidget.h"
 #include "ItemData.h"
-#include "oneshadow.h"
+#include "OneShadowEffect.h"
 
 // #include "lhstylemanager.h"
 
@@ -41,9 +42,10 @@ AddNormalItem::AddNormalItem(QWidget *parent) :
     //     LH_WRITE_ERROR(QString("打开文件失败:%1").arg(file.fileName()));
     // }
 
-    /* 创建阴影 */
-    m_shadow = new OneShadow(ui->widget_background->size(), 16);
-    m_shadow->image();
+
+    OneShadowEffect *pShadowEffect = new OneShadowEffect(this);
+    ui->widget_background->setGraphicsEffect(pShadowEffect);
+
 
     ui->label_timeWarn->hide();
     ui->label_devWarn->hide();
@@ -307,14 +309,49 @@ bool AddNormalItem::eventFilter(QObject *watched, QEvent *event)
 }
 
 /* 绘画事件 */
-void AddNormalItem::paintEvent(QPaintEvent *event)
+// void AddNormalItem::paintEvent(QPaintEvent *event)
+// {
+//     QPainter painter(this);
+//     painter.setRenderHint(QPainter::Antialiasing);
+
+// }
+
+/* 鼠标点击事件 */
+void AddNormalItem::mousePressEvent(QMouseEvent *event)
+{
+    m_lastPos = event->globalPos();
+    event->accept();
+}
+
+/* 鼠标移动事件 */
+void AddNormalItem::mouseMoveEvent(QMouseEvent *event)
+{
+    // QRect rect = this->geometry();
+    auto point = ui->widget_Top->mapToGlobal(QPoint(0, 0));
+    QRect rect(point, ui->widget_Top->size());
+    // LH_WRITE_LOG(QString("rect: %1, %2, %3, %4").arg(rect.left()).arg(rect.top()).arg(rect.right()).arg(rect.bottom()));
+    // LH_WRITE_LOG(QString("lastPos: %1, %2").arg(m_lastPos.x()).arg(m_lastPos.y()));
+    // rect.setBottom(rect.top()+50);
+    if(!rect.contains(m_lastPos))
+    {
+        event->accept();
+        return;
+    }
+
+    int dx = event->globalX() - m_lastPos.x();
+    int dy = event->globalY() - m_lastPos.y();
+    // move(x()+dx, y()+dy);
+    ui->widget_background->move(ui->widget_background->x() + dx, ui->widget_background->y() + dy);
+    // m_shadow->move(ui->widget_background->pos());
+    m_lastPos = event->globalPos();
+    event->accept();
+}
+
+/* 鼠标释放事件 */
+void AddNormalItem::mouseReleaseEvent(QMouseEvent *event)
 {
-    QPainter painter(this);
-    painter.setRenderHint(QPainter::Antialiasing);
-    /* 移动到方框下面 */
-    QPoint pos = ui->widget_background->pos();
-    pos.setX(pos.x() - 16);
-    pos.setY(pos.y() - 16);
-    painter.drawImage(pos, m_shadow->image());
+    event->accept();
 }
 
+
+

+ 9 - 2
TransmitterSwitch/AddItem/addnormalitem.h

@@ -65,7 +65,13 @@ protected:
     /* 事件过滤器 */
     bool eventFilter(QObject *watched, QEvent *event) override;
     /* 绘画事件 */
-    void paintEvent(QPaintEvent *event) override;
+    // void paintEvent(QPaintEvent *event) override;
+    /* 鼠标点击事件 */
+    void mousePressEvent(QMouseEvent *event) override;
+    /* 鼠标移动事件 */
+    void mouseMoveEvent(QMouseEvent *event) override;
+    /* 鼠标释放事件 */
+    void mouseReleaseEvent(QMouseEvent *event) override;
     
 private:
     Ui::AddNormalItem *ui;
@@ -80,7 +86,8 @@ private:
     QTime m_time;                                   /* 执行的时间 */
 
     TimeWidget* m_timeWidget = nullptr;             /* 时间选择器 */
-    OneShadow* m_shadow = nullptr;                  /* 阴影 */
+
+    QPoint m_lastPos;                               /* 鼠标点击的位置 */
 };
 
 #endif // ADDNORMALITEM_H

+ 47 - 10
TransmitterSwitch/AddItem/addspecialitem.cpp

@@ -8,6 +8,7 @@
 #include <QApplication>
 #include <QDesktopWidget>
 #include <QPainter>
+#include <QMouseEvent>
 
 #include "common/combobox/customcombobox.h"
 #include "LHQLogAPI.h"
@@ -15,7 +16,7 @@
 #include "common/SelectTime/timewidget.h"
 #include "common/date/calendardtedit.h"
 #include "ItemData.h"
-#include "oneshadow.h"
+#include "OneShadowEffect.h"
 
 // #include "lhstylemanager.h"
 
@@ -42,7 +43,8 @@ AddSpecialItem::AddSpecialItem(QWidget *parent) :
     //     LH_WRITE_ERROR(QString("打开文件失败:%1").arg(file.fileName()));
     // }
     /* 创建弹窗阴影 */
-    m_shadow = new OneShadow(ui->widget_background->size(), 16);
+    OneShadowEffect *pShadowEffect = new OneShadowEffect(this);
+    ui->widget_background->setGraphicsEffect(pShadowEffect);
 
     ui->label_timeWarn->hide();
     ui->label_devWarn->hide();
@@ -313,17 +315,52 @@ bool AddSpecialItem::eventFilter(QObject *watched, QEvent *event)
 }
 
 /* 绘画事件 */
-void AddSpecialItem::paintEvent(QPaintEvent *event)
+// void AddSpecialItem::paintEvent(QPaintEvent *event)
+// {
+//     QPainter painter(this);
+//     painter.setRenderHint(QPainter::Antialiasing);
+//     /* 移动到方框下面 */
+//     QPoint pos = ui->widget_background->pos();
+//     pos.setX(pos.x() - 16);
+//     pos.setY(pos.y() - 16);
+//     painter.drawImage(pos, m_shadow->image());
+// }
+
+/* 鼠标点击事件 */
+void AddSpecialItem::mousePressEvent(QMouseEvent *event)
 {
-    QPainter painter(this);
-    painter.setRenderHint(QPainter::Antialiasing);
-    /* 移动到方框下面 */
-    QPoint pos = ui->widget_background->pos();
-    pos.setX(pos.x() - 16);
-    pos.setY(pos.y() - 16);
-    painter.drawImage(pos, m_shadow->image());
+    m_lastPos = event->globalPos();
+    event->accept();
 }
 
+/* 鼠标移动事件 */
+void AddSpecialItem::mouseMoveEvent(QMouseEvent *event)
+{
+    // QRect rect = this->geometry();
+    auto point = ui->widget_Top->mapToGlobal(QPoint(0, 0));
+    QRect rect(point, ui->widget_Top->size());
+    // LH_WRITE_LOG(QString("rect: %1, %2, %3, %4").arg(rect.left()).arg(rect.top()).arg(rect.right()).arg(rect.bottom()));
+    // LH_WRITE_LOG(QString("lastPos: %1, %2").arg(m_lastPos.x()).arg(m_lastPos.y()));
+    // rect.setBottom(rect.top()+50);
+    if(!rect.contains(m_lastPos))
+    {
+        event->accept();
+        return;
+    }
 
+    int dx = event->globalX() - m_lastPos.x();
+    int dy = event->globalY() - m_lastPos.y();
+    // move(x()+dx, y()+dy);
+    ui->widget_background->move(ui->widget_background->x() + dx, ui->widget_background->y() + dy);
+    // m_shadow->move(ui->widget_background->pos());
+    m_lastPos = event->globalPos();
+    event->accept();
+}
+
+/* 鼠标释放事件 */
+void AddSpecialItem::mouseReleaseEvent(QMouseEvent *event)
+{
+    event->accept();
+}
 
 

+ 11 - 3
TransmitterSwitch/AddItem/addspecialitem.h

@@ -14,7 +14,7 @@
 
 class TimeWidget;
 class DeviceInfo;
-class OneShadow;
+
 
 namespace Ui {
 class AddSpecialItem;
@@ -74,7 +74,13 @@ protected:
     /* 事件过滤器 */
     bool eventFilter(QObject *watched, QEvent *event) override;
     /* 绘画事件 */
-    void paintEvent(QPaintEvent *event) override;
+    // void paintEvent(QPaintEvent *event) override;
+    /* 鼠标点击事件 */
+    void mousePressEvent(QMouseEvent *event) override;
+    /* 鼠标移动事件 */
+    void mouseMoveEvent(QMouseEvent *event) override;
+    /* 鼠标释放事件 */
+    void mouseReleaseEvent(QMouseEvent *event) override;
 
 private:
     Ui::AddSpecialItem *ui;
@@ -90,7 +96,9 @@ private:
     QDate m_date;                                   /* 执行的日期 */
 
     TimeWidget* m_timeWidget = nullptr;             /* 时间选择器 */
-    OneShadow* m_shadow = nullptr;                  /* 阴影 */
+    // OneShadow* m_shadow = nullptr;                  /* 阴影 */
+
+    QPoint m_lastPos;                               /* 鼠标点击的位置 */
 };
 
 #endif // ADDSPECIALITEM_H

+ 1 - 1
TransmitterSwitch/Resource/QSS/black/addnormalitem.qss

@@ -40,7 +40,7 @@ QWidget#widget_Top
 QLabel#label_title
 {
     background: transparent;
-    font-weight: bold;
+    font-weight: normal;
     font-size: 18px;
     color: #EBEBEB;
     line-height: 27px;

+ 1 - 1
TransmitterSwitch/Resource/QSS/black/addspecialitem.qss

@@ -38,7 +38,7 @@ QWidget#widget_Top
 QLabel#label_title
 {
     background: transparent;
-    font-weight: bold;
+    font-weight: normal;
     font-size: 18px;
     color: #EBEBEB;
     line-height: 27px;

+ 1 - 1
TransmitterSwitch/Resource/QSS/black/importtemplate.qss

@@ -28,7 +28,7 @@ QWidget#widget_Top
 
 QLabel#label_title
 {
-    font-weight: bold;
+    font-weight: normal;
     font-size: 18px;
     color: #D2D2D2;
     line-height: 27px;

+ 1 - 1
TransmitterSwitch/Resource/QSS/black/savetotemplate.qss

@@ -29,7 +29,7 @@ QWidget#widget_Top
 QLabel#label_title
 {
     /* font-family: 思源黑体M; */
-    font-weight: bold;
+    font-weight: normal;
     font-size: 18px;
     color: #EBEBEB;
     line-height: 27px;

+ 2 - 2
TransmitterSwitch/Resource/QSS/black/transmitterswitch.qss

@@ -61,14 +61,14 @@ QPushButton#pBtn_defaultPlan
 QRadioButton#rBtn_moment::indicator:unchecked, QRadioButton#rBtn_day::indicator:unchecked
 {
     background: #FFFFFF;
-    border-radius: 7px;
+    border-radius: 6px;
     border: 2px solid #E5E6EB;
     /* border-image: url(:/ICON/ICON/rBtn_Unchaecked.png); */
 }
 QRadioButton#rBtn_moment::indicator:checked, QRadioButton#rBtn_day::indicator:checked
 {
     background: #FFFFFF;
-    border-radius: 7px;
+    border-radius: 6px;
     border: 4px solid #165DFF;
     color: #B1B3B4;
     /* border-image: url(:/ICON/ICON/rBtn_Checked.png); */

+ 1 - 1
TransmitterSwitch/Resource/QSS/black/warning.qss

@@ -28,7 +28,7 @@ QWidget#widget_Top
 QLabel#label_title
 {
     /* font-family: 思源黑体M; */
-    font-weight: bold;
+    font-weight: normal;
     font-size: 18px;
     color: #D2D2D2;
     line-height: 27px;

+ 2 - 2
TransmitterSwitch/Resource/QSS/white/addnormalitem.qss

@@ -18,7 +18,7 @@ QWidget
 QWidget#widget
 {
     background: rgba(0,0,0,0.01);
-    /* background: rgba(255,255,255,1); */
+    /* background: rgba(127,127,127,1); */
 }
 
 QWidget#widget_Top
@@ -38,7 +38,7 @@ QWidget#widget_background
 
 QLabel#label_title
 {
-    font-weight: bold;
+    font-weight: normal;
     font-size: 18px;
     color: #3A3F63;
     line-height: 27px;

+ 1 - 1
TransmitterSwitch/Resource/QSS/white/addspecialitem.qss

@@ -33,7 +33,7 @@ QWidget#widget_Top
 
 QLabel#label_title
 {
-    font-weight: bold;
+    font-weight: normal;
     font-size: 18px;
     color: #3A3F63;
     line-height: 27px;

+ 1 - 1
TransmitterSwitch/Resource/QSS/white/importtemplate.qss

@@ -29,7 +29,7 @@ QWidget#widget_Top
 
 QLabel#label_title
 {
-    font-weight: bold;
+    font-weight: normal;
     font-size: 18px;
     color: #3A3F63;
     line-height: 27px;

+ 1 - 1
TransmitterSwitch/Resource/QSS/white/savetotemplate.qss

@@ -24,7 +24,7 @@ QWidget#widget_Top
 QLabel#label_title
 {
     /* font-family: 思源黑体M; */
-    font-weight: bold;
+    font-weight: normal;
     font-size: 18px;
     color: #3A3F63;
     line-height: 27px;

+ 2 - 2
TransmitterSwitch/Resource/QSS/white/transmitterswitch.qss

@@ -59,14 +59,14 @@ QPushButton#pBtn_defaultPlan
 QRadioButton#rBtn_moment::indicator:unchecked, QRadioButton#rBtn_day::indicator:unchecked
 {
     background: #FFFFFF;
-    border-radius: 8px;
+    border-radius: 6px;
     border: 0px solid #E5E6EB;
     border-image: url(:/ICON/ICON/rBtn_Unchaecked.png);
 }
 QRadioButton#rBtn_moment::indicator:checked, QRadioButton#rBtn_day::indicator:checked
 {
     background: #FFFFFF;
-    border-radius: 8px;
+    border-radius: 6px;
     border: 0px solid #165DFF;
     color: #B1B3B4;
     border-image: url(:/ICON/ICON/rBtn_Checked.png);

+ 1 - 1
TransmitterSwitch/Resource/QSS/white/warning.qss

@@ -29,7 +29,7 @@ QWidget#widget_Top
 QLabel#label_title
 {
     /* font-family: 思源黑体M; */
-    font-weight: bold;
+    font-weight: normal;
     font-size: 18px;
     color: #3A3F63;
     line-height: 27px;

+ 34 - 0
TransmitterSwitch/Template/importtemplate.cpp

@@ -6,6 +6,7 @@
 #include <QTableWidgetItem>
 #include <QFile>
 #include <QPainter>
+#include <QMouseEvent>
 
 #include "warning/warning.h"
 // #include "lhstylemanager.h"
@@ -221,3 +222,36 @@ bool ImportTemplate::eventFilter(QObject *watched, QEvent *event)
     return QWidget::eventFilter(watched,event);
 }
 
+/* 鼠标点击事件 */
+void ImportTemplate::mousePressEvent(QMouseEvent *event)
+{
+    m_lastPos = event->globalPos();
+    event->accept();
+}
+
+/* 鼠标移动事件 */
+void ImportTemplate::mouseMoveEvent(QMouseEvent *event)
+{
+    // QRect rect = this->geometry();
+    // rect.setBottom(rect.top()+50);
+    auto point = ui->widget_Top->mapToGlobal(QPoint(0, 0));
+    QRect rect(point, ui->widget_Top->size());
+
+    if(!rect.contains(m_lastPos))
+    {
+        event->accept();
+        return;
+    }
+
+    int dx = event->globalX() - m_lastPos.x();
+    int dy = event->globalY() - m_lastPos.y();
+    move(x()+dx, y()+dy);
+    m_lastPos = event->globalPos();
+    event->accept();
+}
+
+/* 鼠标释放事件 */
+void ImportTemplate::mouseReleaseEvent(QMouseEvent *event)
+{
+    event->accept();
+}

+ 8 - 0
TransmitterSwitch/Template/importtemplate.h

@@ -44,6 +44,12 @@ protected:
     void paintEvent(QPaintEvent *event) override;
     /* 事件过滤器 */
     bool eventFilter(QObject *watched, QEvent *event) override;
+    /* 鼠标点击事件 */
+    void mousePressEvent(QMouseEvent *event) override;
+    /* 鼠标移动事件 */
+    void mouseMoveEvent(QMouseEvent *event) override;
+    /* 鼠标释放事件 */
+    void mouseReleaseEvent(QMouseEvent *event) override;
 
 private:
     Ui::ImportTemplate *ui;
@@ -51,6 +57,8 @@ private:
     bool m_isOk = false;                                                    /* 是否点下了OK */
     QString m_templateName;                                                 /* 模版名称 */
     OneShadow* m_shadow = nullptr;                                          /* 阴影 */
+
+    QPoint m_lastPos;                       /* 鼠标点击的位置 */
 };
 
 #endif // IMPORTTEMPLATE_H

+ 35 - 0
TransmitterSwitch/Template/savetotemplate.cpp

@@ -4,6 +4,7 @@
 #include <QStyle>
 #include <QFile>
 #include <QPainter>
+#include <QMouseEvent>
 
 // #include "lhstylemanager.h"
 #include "LHQLogAPI.h"
@@ -191,3 +192,37 @@ bool SaveToTemplate::eventFilter(QObject *watched, QEvent *event)
     }
     return QWidget::eventFilter(watched,event);
 }
+
+
+/* 鼠标点击事件 */
+void SaveToTemplate::mousePressEvent(QMouseEvent *event)
+{
+    m_lastPos = event->globalPos();
+    event->accept();
+}
+
+/* 鼠标移动事件 */
+void SaveToTemplate::mouseMoveEvent(QMouseEvent *event)
+{
+    // QRect rect = this->geometry();
+    // rect.setBottom(rect.top()+50);
+    auto point = ui->widget_Top->mapToGlobal(QPoint(0, 0));
+    QRect rect(point, ui->widget_Top->size());
+    if(!rect.contains(m_lastPos))
+    {
+        event->accept();
+        return;
+    }
+
+    int dx = event->globalX() - m_lastPos.x();
+    int dy = event->globalY() - m_lastPos.y();
+    move(x()+dx, y()+dy);
+    m_lastPos = event->globalPos();
+    event->accept();
+}
+
+/* 鼠标释放事件 */
+void SaveToTemplate::mouseReleaseEvent(QMouseEvent *event)
+{
+    event->accept();
+}

+ 8 - 0
TransmitterSwitch/Template/savetotemplate.h

@@ -49,6 +49,12 @@ protected:
     void paintEvent(QPaintEvent *event) override;
     /* 事件过滤器 */
     bool eventFilter(QObject *watched, QEvent *event) override;
+    /* 鼠标点击事件 */
+    void mousePressEvent(QMouseEvent *event) override;
+    /* 鼠标移动事件 */
+    void mouseMoveEvent(QMouseEvent *event) override;
+    /* 鼠标释放事件 */
+    void mouseReleaseEvent(QMouseEvent *event) override;
 
 private:
     Ui::SaveToTemplate *ui;
@@ -60,6 +66,8 @@ private:
     bool m_isOk = false;                    /* 是否点击了确定 */
     QString m_templateName;                 /* 模板名称 */
     OneShadow* m_shadow = nullptr;          /* 阴影 */
+
+    QPoint m_lastPos;                       /* 鼠标点击的位置 */
 };
 
 #endif // SAVETOTEMPLATE_H

+ 20 - 0
TransmitterSwitch/common/Shadow/OneShadowEffect.cpp

@@ -0,0 +1,20 @@
+#include "OneShadowEffect.h"
+
+
+OneShadowEffect::OneShadowEffect(QObject *parent, int radius)
+    : QGraphicsDropShadowEffect(parent)
+{
+    init(radius);
+}
+
+OneShadowEffect::~OneShadowEffect()
+{
+
+}
+
+void OneShadowEffect::init(int radius)
+{
+    setBlurRadius(radius);              // 模糊半径
+    setColor(QColor(0, 0, 0, 90));      // 阴影的颜色
+    setOffset(0, 0);                    // 水平和垂直偏移量
+}

+ 18 - 0
TransmitterSwitch/common/Shadow/OneShadowEffect.h

@@ -0,0 +1,18 @@
+#ifndef ONESHADOWEFFECT_H
+#define ONESHADOWEFFECT_H
+
+#include <QGraphicsDropShadowEffect>
+
+class OneShadowEffect : public QGraphicsDropShadowEffect
+{
+
+public:
+    OneShadowEffect(QObject *parent = nullptr, int radius = 20);
+    ~OneShadowEffect();
+
+private:
+    void init(int radius);
+
+};
+
+#endif // ONESHADOWEFFECT_H

+ 36 - 0
TransmitterSwitch/common/warning/warning.cpp

@@ -6,6 +6,7 @@
 #include <QDebug>
 #include <QFile>
 #include <QStyle>
+#include <QMouseEvent>
 
 #include "oneshadow.h"
 // #include "lhstylemanager.h"
@@ -122,6 +123,41 @@ bool Warning::eventFilter(QObject *watched, QEvent *event)
 }
 
 
+/* 鼠标点击事件 */
+void Warning::mousePressEvent(QMouseEvent *event)
+{
+    m_lastPos = event->globalPos();
+    event->accept();
+}
+
+/* 鼠标移动事件 */
+void Warning::mouseMoveEvent(QMouseEvent *event)
+{
+    // QRect rect = this->geometry();
+    // rect.setBottom(rect.top()+50);
+    auto point = ui->widget_Top->mapToGlobal(QPoint(0, 0));
+    QRect rect(point, ui->widget_Top->size());
+
+    if(!rect.contains(m_lastPos))
+    {
+        event->accept();
+        return;
+    }
+
+    int dx = event->globalX() - m_lastPos.x();
+    int dy = event->globalY() - m_lastPos.y();
+    move(x()+dx, y()+dy);
+    m_lastPos = event->globalPos();
+    event->accept();
+}
+
+/* 鼠标释放事件 */
+void Warning::mouseReleaseEvent(QMouseEvent *event)
+{
+    event->accept();
+}
+
+
 
 void Warning::do_ok()
 {

+ 10 - 2
TransmitterSwitch/common/warning/warning.h

@@ -27,9 +27,15 @@ signals:
     void signal_ok();
 
 protected:
-    void paintEvent(QPaintEvent *event);
+    void paintEvent(QPaintEvent *event) override;
     /* 事件过滤器 */
-    bool eventFilter(QObject *watched, QEvent *event);
+    bool eventFilter(QObject *watched, QEvent *event) override;
+    /* 鼠标点击事件 */
+    void mousePressEvent(QMouseEvent *event) override;
+    /* 鼠标移动事件 */
+    void mouseMoveEvent(QMouseEvent *event) override;
+    /* 鼠标释放事件 */
+    void mouseReleaseEvent(QMouseEvent *event) override;
 
 private slots:
     void do_ok();
@@ -46,6 +52,8 @@ private:
     OneShadow* m_shadow = nullptr;
     const int SHADOW_W = 16;                /* 阴影的大小 */
     bool m_isOk = false;
+
+    QPoint m_lastPos;
 };
 
 #endif // WARNING_H

+ 12 - 0
TransmitterSwitch/transmitterswitch.cpp

@@ -471,6 +471,8 @@ void TransmitterSwitch::do_exportData()
 {
     std::shared_ptr<SaveToTemplate> stt = std::make_shared<SaveToTemplate>(this);
     stt->setQSS(EPConfig.getQSSPath());
+    /* 注册事件过滤器 */
+    stt->installEventFilter(this);
     int weekDay = ui->stackedWidget_items->currentIndex();
     /* 设置周几 */
     stt->setWeekDay(weekDay);
@@ -730,5 +732,15 @@ bool TransmitterSwitch::eventFilter(QObject *watched, QEvent *event)
     return QWidget::eventFilter(watched,event);
 }
 
+/* 鼠标点击事件 */
+// void TransmitterSwitch::mousePressEvent(QMouseEvent *event)
+// {
+//     if(event->button() == Qt::LeftButton)
+//     {
+//         LH_WRITE_LOG("鼠标点击了");
+//     }
+//     QWidget::mousePressEvent(event);
+// }
+
 
 

+ 2 - 0
TransmitterSwitch/transmitterswitch.h

@@ -79,6 +79,8 @@ private:
 protected:
     /* 事件过滤器 */
     bool eventFilter(QObject *watched, QEvent *event);
+    /* 鼠标点击事件 */
+    // void mousePressEvent(QMouseEvent *event);
 
 private:
     Ui::TransmitterSwitch *ui;