diff --git a/frame/window/tray/widgets/expandiconwidget.cpp b/frame/window/tray/widgets/expandiconwidget.cpp index 1cd9d70aa..f9cccacc7 100644 --- a/frame/window/tray/widgets/expandiconwidget.cpp +++ b/frame/window/tray/widgets/expandiconwidget.cpp @@ -177,7 +177,7 @@ TrayGridWidget *ExpandIconWidget::popupTrayView() Dock::Position TrayGridWidget::m_position = Dock::Position::Bottom; TrayGridWidget::TrayGridWidget(QWidget *parent) - : QWidget (parent) + : DBlurEffectWidget (parent) , m_dockInter(new DockInter(dockServiceName(), dockServicePath(), QDBusConnection::sessionBus(), this)) , m_trayGridView(nullptr) , m_referGridView(nullptr) @@ -241,24 +241,10 @@ void TrayGridWidget::resetPosition() move(ptPos); } -void TrayGridWidget::paintEvent(QPaintEvent *event) -{ - Q_UNUSED(event); - - QPainter painter(this); - painter.setRenderHint(QPainter::Antialiasing); - QPainterPath path; - path.addRoundedRect(rect(), 18, 18); - painter.setCompositionMode(QPainter::CompositionMode_Xor); - painter.setClipPath(path); - - painter.fillPath(path, maskColor()); -} - void TrayGridWidget::showEvent(QShowEvent *event) { m_regionInter->registerRegion(); - QWidget::showEvent(event); + DBlurEffectWidget::showEvent(event); } void TrayGridWidget::hideEvent(QHideEvent *event) @@ -266,7 +252,7 @@ void TrayGridWidget::hideEvent(QHideEvent *event) m_regionInter->unregisterRegion(); // 在当前托盘区域隐藏后,需要设置任务栏区域的展开按钮的托盘为隐藏状态 TrayModel::getDockModel()->updateOpenExpand(false); - QWidget::hideEvent(event); + DBlurEffectWidget::hideEvent(event); } void TrayGridWidget::initMember() diff --git a/frame/window/tray/widgets/expandiconwidget.h b/frame/window/tray/widgets/expandiconwidget.h index 8fca811b9..03e3e09b3 100644 --- a/frame/window/tray/widgets/expandiconwidget.h +++ b/frame/window/tray/widgets/expandiconwidget.h @@ -10,6 +10,10 @@ #include "basetraywidget.h" #include "dbusutil.h" +#include + +DWIDGET_USE_NAMESPACE + class TrayGridView; class TrayModel; class TrayDelegate; @@ -43,7 +47,7 @@ private: }; // 绘制圆角窗体 -class TrayGridWidget : public QWidget +class TrayGridWidget : public DBlurEffectWidget { Q_OBJECT @@ -57,7 +61,6 @@ public: void resetPosition(); protected: - void paintEvent(QPaintEvent *event) override; void showEvent(QShowEvent *event) override; void hideEvent(QHideEvent *event) override;