From 3f36f6d064dc5cd52bde5259567681e575c42819 Mon Sep 17 00:00:00 2001 From: dreamsourcelabTAI Date: Mon, 26 Feb 2024 15:37:04 +0800 Subject: [PATCH] fix: XToolButton display and hide state switching error --- DSView/pv/ui/xtoolbutton.cpp | 10 +++++----- DSView/pv/ui/xtoolbutton.h | 4 +++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/DSView/pv/ui/xtoolbutton.cpp b/DSView/pv/ui/xtoolbutton.cpp index dd655279..08999ce6 100644 --- a/DSView/pv/ui/xtoolbutton.cpp +++ b/DSView/pv/ui/xtoolbutton.cpp @@ -21,6 +21,7 @@ #include "xtoolbutton.h" #include +#include "../log.h" XToolButton::XToolButton(QWidget *parent) @@ -34,13 +35,12 @@ void XToolButton::mousePressEvent(QMouseEvent *event) if (event->button() == Qt::LeftButton) { QMenu* menu = this->menu(); - if (menu) - { + if (menu){ QPoint pt = mapToGlobal(rect().bottomLeft()); - menu->exec(pt); - return; + menu->popup(pt); + return; } } QToolButton::mousePressEvent(event); -} \ No newline at end of file +} diff --git a/DSView/pv/ui/xtoolbutton.h b/DSView/pv/ui/xtoolbutton.h index df0ec868..cd679256 100644 --- a/DSView/pv/ui/xtoolbutton.h +++ b/DSView/pv/ui/xtoolbutton.h @@ -29,11 +29,13 @@ class XToolButton : public QToolButton { + Q_OBJECT + public: XToolButton(QWidget *parent = nullptr); protected: - void mousePressEvent(QMouseEvent *event);// override; + void mousePressEvent(QMouseEvent *event) override; };