优化tool窗口

This commit is contained in:
Barry 2019-01-20 20:55:41 +08:00
parent d4401756a5
commit 373d5b72ed
2 changed files with 7 additions and 3 deletions

View file

@ -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()

View file

@ -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;