added TipMenu.h/.cpp
This commit is contained in:
parent
30a6983eef
commit
263a783228
22
inc/hgl/qt/widgets/TipMenu.h
Normal file
22
inc/hgl/qt/widgets/TipMenu.h
Normal file
@ -0,0 +1,22 @@
|
||||
#ifndef HGL_QT_TIP_MENU_INCLUDE
|
||||
#define HGL_QT_TIP_MENU_INCLUDE
|
||||
|
||||
#include<QMenuBar>
|
||||
|
||||
namespace hgl
|
||||
{
|
||||
namespace qt
|
||||
{
|
||||
class TipMenu:public QMenu
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
|
||||
using QMenu::QMenu;
|
||||
|
||||
bool event(QEvent *)override;
|
||||
};//class TipMenu:public QMenu
|
||||
}//namespace qt
|
||||
}//namespace hgl
|
||||
#endif//HGL_QT_TIP_MENU_INCLUDE
|
@ -2,7 +2,7 @@ find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Gui Widgets Svg Xm
|
||||
|
||||
SET(CMQT_INCLUDE_PATH ${CMQT_ROOT_INCLUDE_PATH}/hgl/qt)
|
||||
|
||||
SET(CMQT_WIDGET_INCLUDE_PATH ${CMQT_INCLUDE_PATH}/widget)
|
||||
SET(CMQT_WIDGET_INCLUDE_PATH ${CMQT_INCLUDE_PATH}/widgets)
|
||||
SET(CMQT_DIALOG_INCLUDE_PATH ${CMQT_INCLUDE_PATH}/dialog)
|
||||
|
||||
IF(WIN32)
|
||||
@ -20,12 +20,17 @@ SET(CMQT_IMAGE_FILES image/SVGPixmap.cpp)
|
||||
|
||||
SOURCE_GROUP("Image" FILES ${CMQT_IMAGE_FILES})
|
||||
|
||||
SET(CMQT_MENU_SOURCE ${CMQT_WIDGET_INCLUDE_PATH}/TipMenu.h
|
||||
widgets/TipMenu.cpp)
|
||||
|
||||
SOURCE_GROUP("Menu" FILES ${CMQT_MENU_SOURCE})
|
||||
|
||||
SET(CMQT_Vulkan_FILES ${CMQT_INCLUDE_PATH}/QtVulkanWindow.h
|
||||
vulkan/QtVulkanWindow.cpp
|
||||
vulkan/QtVulkanSurface.cpp)
|
||||
|
||||
SOURCE_GROUP("Vulkan" FILES ${CMQT_Vulkan_FILES})
|
||||
|
||||
add_cm_library(CMQT "CM" ${CMQT_DIALOG_FILES} ${CMQT_IMAGE_FILES} ${CMQT_Vulkan_FILES})
|
||||
add_cm_library(CMQT "CM" ${CMQT_DIALOG_FILES} ${CMQT_IMAGE_FILES} ${CMQT_MENU_SOURCE})
|
||||
|
||||
target_link_libraries(CMQT PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Svg Qt5::Xml Qt5::VulkanSupport)
|
25
src/widgets/TipMenu.cpp
Normal file
25
src/widgets/TipMenu.cpp
Normal file
@ -0,0 +1,25 @@
|
||||
#include<hgl/qt/widgets/TipMenu.h>
|
||||
#include<QToolTip>
|
||||
#include<QHelpEvent>
|
||||
|
||||
namespace hgl
|
||||
{
|
||||
namespace qt
|
||||
{
|
||||
bool TipMenu::event(QEvent *e)
|
||||
{
|
||||
if(e->type()==QEvent::ToolTip)
|
||||
{
|
||||
QHelpEvent *helpEvent=static_cast<QHelpEvent *>(e);
|
||||
QAction *action=actionAt(helpEvent->pos());
|
||||
if(action)
|
||||
{
|
||||
QToolTip::showText(helpEvent->globalPos(),action->toolTip());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return QMenu::event(e);
|
||||
}
|
||||
}//namespace qt
|
||||
}//namespace hgl
|
Loading…
x
Reference in New Issue
Block a user