From 0db572fa7180a9e52e5a28d30d64330666de8747 Mon Sep 17 00:00:00 2001 From: "work-zym\\zhangyiming" <1131393555@qq.com> Date: Thu, 31 Oct 2024 14:35:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=A0=E8=BE=B9=E6=A1=86?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E9=80=80=E5=87=BA=E3=80=81=E6=9C=80=E5=A4=A7?= =?UTF-8?q?=E5=8C=96=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/xyylMCWEACSystem.exe | Bin 1315840 -> 1319936 bytes xyylMCWEACSystem/framelesswindow.cpp | 57 ++++++++++++++++++++++++++ xyylMCWEACSystem/framelesswindow.h | 23 +++++++++++ xyylMCWEACSystem/main.cpp | 9 ++-- xyylMCWEACSystem/titlewidget.cpp | 9 ++++ xyylMCWEACSystem/xyylMCWEACSystem.pro | 2 + 6 files changed, 97 insertions(+), 3 deletions(-) create mode 100644 xyylMCWEACSystem/framelesswindow.cpp create mode 100644 xyylMCWEACSystem/framelesswindow.h diff --git a/bin/xyylMCWEACSystem.exe b/bin/xyylMCWEACSystem.exe index de764e9fd7ad2d87537c4b895c0db4ab817ab48a..e86dab453532d51a61ab0399cd02b7477dde08f3 100644 GIT binary patch delta 42356 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 nc|$zXz5N3$#c~c*T5h=H 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 diff --git a/xyylMCWEACSystem/framelesswindow.cpp b/xyylMCWEACSystem/framelesswindow.cpp new file mode 100644 index 0000000..73c043d --- /dev/null +++ b/xyylMCWEACSystem/framelesswindow.cpp @@ -0,0 +1,57 @@ +#include "FramelessWindow.h" + +#include +#include +#include + +struct FramelessWindowPrivate { + FramelessWindowPrivate(QWidget *contentWidget) : contentWidget(contentWidget) {} + + QWidget *contentWidget; + QPoint mousePressedPosition; // 鼠标按下时的坐标 + QPoint windowPositionAsDrag; // 鼠标按小时窗口左上角的坐标 +}; + +FramelessWindow::FramelessWindow(QWidget *contentWidget, QWidget *parent) : QWidget(parent) { + setWindowFlags(Qt::FramelessWindowHint); // 去掉边框 + setAttribute(Qt::WA_TranslucentBackground); // 背景透明 + + d = new FramelessWindowPrivate(contentWidget); + + // 添加阴影 + QGraphicsDropShadowEffect *shadowEffect = new QGraphicsDropShadowEffect(contentWidget); + shadowEffect->setColor(Qt::lightGray); + shadowEffect->setBlurRadius(4); // 阴影的大小 + shadowEffect->setOffset(0, 0); + contentWidget->setGraphicsEffect(shadowEffect); + + // 添加到窗口中 + QGridLayout *lo = new QGridLayout(); + lo->addWidget(contentWidget, 0, 0); + lo->setContentsMargins(4, 4, 4, 4); // 注意和阴影大小的协调 + setLayout(lo); +} + +FramelessWindow::~FramelessWindow() { + delete d; +} + +void FramelessWindow::mousePressEvent(QMouseEvent *e) { + // 记录鼠标按下时全局的位置和窗口左上角的位置 + d->mousePressedPosition = e->globalPos(); + d->windowPositionAsDrag = pos(); +} + +void FramelessWindow::mouseReleaseEvent(QMouseEvent *e) { + Q_UNUSED(e) + // 鼠标放开始设置鼠标按下的位置为 null,表示鼠标没有被按下 + d->mousePressedPosition = QPoint(); +} + +void FramelessWindow::mouseMoveEvent(QMouseEvent *e) { + if (!d->mousePressedPosition.isNull()) { + // 鼠标按下并且移动时,移动窗口, 相对于鼠标按下时的位置计算,是为了防止误差累积 + QPoint delta = e->globalPos() - d->mousePressedPosition; + move(d->windowPositionAsDrag + delta); + } +} diff --git a/xyylMCWEACSystem/framelesswindow.h b/xyylMCWEACSystem/framelesswindow.h new file mode 100644 index 0000000..8b090e3 --- /dev/null +++ b/xyylMCWEACSystem/framelesswindow.h @@ -0,0 +1,23 @@ +#ifndef FRAMELESSWINDOW_H +#define FRAMELESSWINDOW_H + +#include + +struct FramelessWindowPrivate; + +class FramelessWindow : public QWidget { + Q_OBJECT +public: + explicit FramelessWindow(QWidget *contentWidget, QWidget *parent = 0); + ~FramelessWindow(); + +protected: + void mousePressEvent(QMouseEvent *e) Q_DECL_OVERRIDE; + void mouseReleaseEvent(QMouseEvent *e) Q_DECL_OVERRIDE; + void mouseMoveEvent(QMouseEvent *e) Q_DECL_OVERRIDE; + +private: + FramelessWindowPrivate *d; +}; + +#endif // FRAMELESSWINDOW_H diff --git a/xyylMCWEACSystem/main.cpp b/xyylMCWEACSystem/main.cpp index e5b250b..7d55032 100644 --- a/xyylMCWEACSystem/main.cpp +++ b/xyylMCWEACSystem/main.cpp @@ -34,13 +34,16 @@ #include #include "navlistwidget.h" +#include "framelesswindow.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); - FrameWindow mainw; - mainw.resize(1000,800); - mainw.show(); + FrameWindow *mainw = new FrameWindow; + FramelessWindow *window = new FramelessWindow(mainw); + window->resize(300, 400); + window->showMaximized(); + //a.setStyleSheet("QWidget{background-color:#ffffff;}"); // a.setStyleSheet("QWidget{background: rgb(47, 61, 82);}"); QFont globalFont; diff --git a/xyylMCWEACSystem/titlewidget.cpp b/xyylMCWEACSystem/titlewidget.cpp index ccce02f..df56228 100644 --- a/xyylMCWEACSystem/titlewidget.cpp +++ b/xyylMCWEACSystem/titlewidget.cpp @@ -3,6 +3,7 @@ #include #include #include +#include TitleWidget::TitleWidget(QWidget * parent ):QFrame(parent) { init(); @@ -60,9 +61,17 @@ void TitleWidget::initLay() #endif } + bool TitleWidget::initConnect() { + bool bCon = true; + bCon = connect(&m_btnRet,SIGNAL(clicked(bool)),qApp,SLOT(quit())); + if(!bCon) + { + qDebug()<<"connect failed"<