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_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)
|
SET(CMQT_DIALOG_INCLUDE_PATH ${CMQT_INCLUDE_PATH}/dialog)
|
||||||
|
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
@ -20,12 +20,17 @@ SET(CMQT_IMAGE_FILES image/SVGPixmap.cpp)
|
|||||||
|
|
||||||
SOURCE_GROUP("Image" FILES ${CMQT_IMAGE_FILES})
|
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
|
SET(CMQT_Vulkan_FILES ${CMQT_INCLUDE_PATH}/QtVulkanWindow.h
|
||||||
vulkan/QtVulkanWindow.cpp
|
vulkan/QtVulkanWindow.cpp
|
||||||
vulkan/QtVulkanSurface.cpp)
|
vulkan/QtVulkanSurface.cpp)
|
||||||
|
|
||||||
SOURCE_GROUP("Vulkan" FILES ${CMQT_Vulkan_FILES})
|
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)
|
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