support QT5/6,support spited extra QT styles.
This commit is contained in:
parent
7b306e4c09
commit
bf196b5a69
@ -1,4 +1,4 @@
|
||||
find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Gui Widgets Svg Xml)
|
||||
find_package(Qt${CM_QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Gui Widgets Svg Xml)
|
||||
|
||||
SET(CMQT_INCLUDE_PATH ${CMQT_ROOT_INCLUDE_PATH}/hgl/qt)
|
||||
|
||||
@ -37,4 +37,4 @@ include(style/style.cmake)
|
||||
|
||||
add_cm_library(CMQT "CM" ${CMQT_DIALOG_FILES} ${CMQT_IMAGE_FILES} ${CMQT_MENU_FILES} ${CMQT_STYLE_FILES})
|
||||
|
||||
target_link_libraries(CMQT PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Svg Qt5::Xml)
|
||||
target_link_libraries(CMQT PUBLIC Qt${CM_QT_MAJOR_VERSION}::Core Qt${CM_QT_MAJOR_VERSION}::Gui Qt${CM_QT_MAJOR_VERSION}::Widgets Qt${CM_QT_MAJOR_VERSION}::Svg Qt${CM_QT_MAJOR_VERSION}::Xml)
|
||||
|
@ -3,6 +3,8 @@
|
||||
#include<QStyleFactory>
|
||||
#include<QApplication>
|
||||
|
||||
#ifdef USE_EXTRA_QT_STYLE
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
QStyle *CreateBB10BrightStyle();
|
||||
QStyle *CreateBB10DarkStyle();
|
||||
@ -12,12 +14,15 @@ QStyle *CreateMotifStyle();
|
||||
QStyle *CreatePlastiqueStyle();
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif//USE_EXTRA_QT_STYLE
|
||||
|
||||
namespace hgl
|
||||
{
|
||||
namespace qt
|
||||
{
|
||||
QT_USE_NAMESPACE
|
||||
|
||||
#ifdef USE_EXTRA_QT_STYLE
|
||||
struct CreateQTExtraStyleConfig
|
||||
{
|
||||
QString name;
|
||||
@ -28,8 +33,8 @@ namespace hgl
|
||||
{
|
||||
#define DEF_QT_EXTRA_STYLE(name) {#name,Create##name##Style},
|
||||
|
||||
DEF_QT_EXTRA_STYLE(BB10Bright)
|
||||
DEF_QT_EXTRA_STYLE(BB10Dark)
|
||||
//DEF_QT_EXTRA_STYLE(BB10Bright)
|
||||
//DEF_QT_EXTRA_STYLE(BB10Dark)
|
||||
DEF_QT_EXTRA_STYLE(Cleanlooks)
|
||||
DEF_QT_EXTRA_STYLE(CDE)
|
||||
DEF_QT_EXTRA_STYLE(Motif)
|
||||
@ -37,6 +42,7 @@ namespace hgl
|
||||
|
||||
#undef DEF_QT_EXTRA_STYLE
|
||||
};
|
||||
#endif//USE_EXTRA_QT_STYLE
|
||||
|
||||
const QString GetApplicationStyle()
|
||||
{
|
||||
@ -46,9 +52,11 @@ namespace hgl
|
||||
const QStringList GetStyleList()
|
||||
{
|
||||
QStringList list=QStyleFactory::keys();
|
||||
|
||||
|
||||
#ifdef USE_EXTRA_QT_STYLE
|
||||
for(int i = 0;i < sizeof(qt_extra_styles) / sizeof(CreateQTExtraStyleConfig);i++)
|
||||
list << qt_extra_styles[i].name;
|
||||
#endif//USE_EXTRA_QT_STYLE
|
||||
|
||||
return list;
|
||||
}
|
||||
@ -57,6 +65,7 @@ namespace hgl
|
||||
{
|
||||
QStyle *s=nullptr;
|
||||
|
||||
#ifdef USE_EXTRA_QT_STYLE
|
||||
for(int i = 0;i < sizeof(qt_extra_styles) / sizeof(CreateQTExtraStyleConfig);i++)
|
||||
{
|
||||
if(style_name.compare(qt_extra_styles[i].name, Qt::CaseInsensitive) == 0)
|
||||
@ -67,6 +76,7 @@ namespace hgl
|
||||
}
|
||||
|
||||
if(!s)
|
||||
#endif//USE_EXTRA_QT_STYLE
|
||||
s=QStyleFactory::create(style_name);
|
||||
|
||||
if(s)
|
||||
|
@ -1,34 +1,43 @@
|
||||
find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Gui Widgets)
|
||||
find_package(Qt${CM_QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Gui Widgets)
|
||||
|
||||
include_directories(${Qt5Widgets_PRIVATE_INCLUDE_DIRS})
|
||||
|
||||
include_directories(${CMQT_STYLE_PATH}/shared)
|
||||
file(GLOB QTStyleSharedFiles ${CMQT_STYLE_PATH}/shared/*.*)
|
||||
|
||||
include_directories(${CMQT_STYLE_PATH}/bb10style)
|
||||
file(GLOB QTBB10StyleFiles ${CMQT_STYLE_PATH}/bb10style/*.*)
|
||||
|
||||
include_directories(${CMQT_STYLE_PATH}/cleanlooks)
|
||||
file(GLOB QTCleanLookStyleFiles ${CMQT_STYLE_PATH}/cleanlooks/*.*)
|
||||
|
||||
include_directories(${CMQT_STYLE_PATH}/motif)
|
||||
file(GLOB QTMotifStyleFiles ${CMQT_STYLE_PATH}/motif/*.*)
|
||||
|
||||
include_directories(${CMQT_STYLE_PATH}/plastique)
|
||||
file(GLOB QTPlastiqueStyleFiles ${CMQT_STYLE_PATH}/plastique/*.*)
|
||||
if(CM_QT_MAJOR_VERSION VERSION_EQUAL "5")
|
||||
include_directories(${Qt5Widgets_PRIVATE_INCLUDE_DIRS})
|
||||
elseif(CM_QT_MAJOR_VERSION VERSION_EQUAL "6")
|
||||
include_directories(${Qt6Widgets_PRIVATE_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
SET(CM_QT_STYLE_SOURCE ${CMQT_STYLE_PATH}/CMQTStyle.cpp)
|
||||
|
||||
source_group("QT Style" FILES ${CM_QT_STYLE_SOURCE})
|
||||
source_group("QT Style\\Shared" FILES ${QTStyleSharedFiles})
|
||||
source_group("QT Style\\BB10" FILES ${QTBB10StyleFiles})
|
||||
source_group("QT Style\\Cleanlooks" FILES ${QTCleanLookStyleFiles})
|
||||
source_group("QT Style\\Motif" FILES ${QTMotifStyleFiles})
|
||||
source_group("QT Style\\Plastique" FILES ${QTPlastiqueStyleFiles})
|
||||
|
||||
SET(CMQT_STYLE_FILES ${CM_QT_STYLE_SOURCE}
|
||||
${QTStyleSharedFiles}
|
||||
${QTBB10StyleFiles}
|
||||
${QTCleanLookStyleFiles}
|
||||
${QTMotifStyleFiles}
|
||||
${QTPlastiqueStyleFiles})
|
||||
SET(CMQT_STYLE_FILES ${CM_QT_STYLE_SOURCE})
|
||||
|
||||
IF(CM_QT_EXTRA_STYLE)
|
||||
include_directories(${CMQT_STYLE_PATH}/shared)
|
||||
file(GLOB QTStyleSharedFiles ${CMQT_STYLE_PATH}/shared/*.*)
|
||||
|
||||
include_directories(${CMQT_STYLE_PATH}/bb10style)
|
||||
file(GLOB QTBB10StyleFiles ${CMQT_STYLE_PATH}/bb10style/*.*)
|
||||
|
||||
include_directories(${CMQT_STYLE_PATH}/cleanlooks)
|
||||
file(GLOB QTCleanLookStyleFiles ${CMQT_STYLE_PATH}/cleanlooks/*.*)
|
||||
|
||||
include_directories(${CMQT_STYLE_PATH}/motif)
|
||||
file(GLOB QTMotifStyleFiles ${CMQT_STYLE_PATH}/motif/*.*)
|
||||
|
||||
include_directories(${CMQT_STYLE_PATH}/plastique)
|
||||
file(GLOB QTPlastiqueStyleFiles ${CMQT_STYLE_PATH}/plastique/*.*)
|
||||
|
||||
source_group("QT Style\\Shared" FILES ${QTStyleSharedFiles})
|
||||
source_group("QT Style\\BB10" FILES ${QTBB10StyleFiles})
|
||||
source_group("QT Style\\Cleanlooks" FILES ${QTCleanLookStyleFiles})
|
||||
source_group("QT Style\\Motif" FILES ${QTMotifStyleFiles})
|
||||
source_group("QT Style\\Plastique" FILES ${QTPlastiqueStyleFiles})
|
||||
|
||||
SET(CMQT_STYLE_FILES ${CMQT_STYLE_FILES}
|
||||
${QTStyleSharedFiles}
|
||||
${QTBB10StyleFiles}
|
||||
${QTCleanLookStyleFiles}
|
||||
${QTMotifStyleFiles}
|
||||
${QTPlastiqueStyleFiles})
|
||||
endif(CM_QT_EXTRA_STYLE)
|
||||
|
Loading…
x
Reference in New Issue
Block a user