From 373d5b72ed8d07128c015427fb60002bddbe7e86 Mon Sep 17 00:00:00 2001 From: Barry <870709864@qq.com> Date: Sun, 20 Jan 2019 20:55:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96tool=E7=AA=97=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QtScrcpy/toolform.cpp | 2 +- QtScrcpy/uibase/magneticwidget.cpp | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/QtScrcpy/toolform.cpp b/QtScrcpy/toolform.cpp index 1650d21..000729a 100644 --- a/QtScrcpy/toolform.cpp +++ b/QtScrcpy/toolform.cpp @@ -8,7 +8,7 @@ ToolForm::ToolForm(QWidget* adsorbWidget, AdsorbPositions adsorbPos) , ui(new Ui::ToolForm) { ui->setupUi(this); - setWindowFlags(Qt::FramelessWindowHint); + setWindowFlags(windowFlags() | Qt::FramelessWindowHint); } ToolForm::~ToolForm() diff --git a/QtScrcpy/uibase/magneticwidget.cpp b/QtScrcpy/uibase/magneticwidget.cpp index 390a14c..96a4b10 100644 --- a/QtScrcpy/uibase/magneticwidget.cpp +++ b/QtScrcpy/uibase/magneticwidget.cpp @@ -11,9 +11,9 @@ MagneticWidget::MagneticWidget(QWidget* adsorbWidget, AdsorbPositions adsorbPos) , m_adsorbWidget(adsorbWidget) { Q_ASSERT(m_adsorbWidget); - setAttribute(Qt::WA_DeleteOnClose); + setParent(m_adsorbWidget); + setWindowFlags(windowFlags() | Qt::Tool); - connect(m_adsorbWidget, &QWidget::destroyed, this, &QWidget::close); m_adsorbWidget->installEventFilter(this); } @@ -33,6 +33,10 @@ bool MagneticWidget::eventFilter(QObject *watched, QEvent *event) if (m_adsorbed && QEvent::Move == event->type()) { move(m_adsorbWidget->pos() - m_relativePos); } + if (m_adsorbed && (QEvent::Show == event->type() || QEvent::FocusIn == event->type())) { + show(); + raise(); + } if (m_adsorbed && QEvent::Resize == event->type()) { QRect parentRect; QRect targetRect;