diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f2f7ca..8357a6b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ -project(qt-material-widgets) cmake_minimum_required(VERSION 3.22) +project(qt-material-widgets) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -add_subdirectory(examples) add_subdirectory(components) +add_subdirectory(examples) diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user index 44bb952..136e50f 100644 --- a/CMakeLists.txt.user +++ b/CMakeLists.txt.user @@ -1,10 +1,10 @@ - + EnvironmentId - {d2b00d11-c185-4f43-9d72-0d9e9d9ad5bb} + {2e97b105-3178-4297-91cd-0788e9b3dddc} ProjectExplorer.Project.ActiveTarget @@ -37,6 +37,7 @@ true true 1 + 0 false true false @@ -54,6 +55,7 @@ *.md, *.MD, Makefile false true + true @@ -70,14 +72,12 @@ 0 true - - true - Builtin.BuildSystem true true Builtin.DefaultTidyAndClazy - 4 + 8 + true @@ -89,48 +89,59 @@ ProjectExplorer.Project.Target.0 Desktop - Desktop - Desktop - {2ebfeb06-0a8a-455d-9f68-fc633ebb7f9a} + Desktop Qt 6.2.4 MSVC2019 64bit + Desktop Qt 6.2.4 MSVC2019 64bit + qt.qt6.624.win64_msvc2019_64_kit 0 0 0 Debug - -DCMAKE_GENERATOR:STRING=Unix Makefiles + 2 + false + + -DCMAKE_GENERATOR:STRING=Ninja -DCMAKE_BUILD_TYPE:STRING=Debug --DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake --DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable} --DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX} --DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C} --DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx} - /home/cht/git/build-qt-material-widgets-Desktop-Debug +-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake +-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} +-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} +-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} +-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} +-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} + 0 + D:\git_repos\build-qt-material-widgets-Desktop_Qt_6_2_4_MSVC2019_64bit-Debug + all + false + true - Build + 构建 CMakeProjectManager.MakeStep 1 - Build - Build + 构建 + 构建 ProjectExplorer.BuildSteps.Build + clean + false + true - Build + 构建 CMakeProjectManager.MakeStep 1 - Clean - Clean + 清除 + 清除 ProjectExplorer.BuildSteps.Clean 2 @@ -143,38 +154,48 @@ Release - -DCMAKE_GENERATOR:STRING=Unix Makefiles + 2 + false + + -DCMAKE_GENERATOR:STRING=Ninja -DCMAKE_BUILD_TYPE:STRING=Release --DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake --DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable} --DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX} --DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C} --DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx} - /home/cht/git/build-qt-material-widgets-Desktop-Release +-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake +-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} +-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} +-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} +-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} +-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} + D:\git_repos\build-qt-material-widgets-Desktop_Qt_6_2_4_MSVC2019_64bit-Release + all + false + true CMakeProjectManager.MakeStep 1 - Build - Build + 构建 + 构建 ProjectExplorer.BuildSteps.Build + clean + false + true CMakeProjectManager.MakeStep 1 - Clean - Clean + 清除 + 清除 ProjectExplorer.BuildSteps.Clean 2 @@ -187,38 +208,48 @@ RelWithDebInfo - -DCMAKE_GENERATOR:STRING=Unix Makefiles + 2 + false + + -DCMAKE_GENERATOR:STRING=Ninja -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo --DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake --DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable} --DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX} --DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C} --DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx} - /home/cht/git/build-qt-material-widgets-Desktop-RelWithDebInfo +-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake +-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} +-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} +-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} +-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} +-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} + D:\git_repos\build-qt-material-widgets-Desktop_Qt_6_2_4_MSVC2019_64bit-RelWithDebInfo + all + false + true CMakeProjectManager.MakeStep 1 - Build - Build + 构建 + 构建 ProjectExplorer.BuildSteps.Build + clean + false + true CMakeProjectManager.MakeStep 1 - Clean - Clean + 清除 + 清除 ProjectExplorer.BuildSteps.Clean 2 @@ -230,39 +261,104 @@ CMakeProjectManager.CMakeBuildConfiguration - MinSizeRel - -DCMAKE_GENERATOR:STRING=Unix Makefiles --DCMAKE_BUILD_TYPE:STRING=MinSizeRel --DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake --DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable} --DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX} --DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C} --DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx} - /home/cht/git/build-qt-material-widgets-Desktop-MinSizeRel + RelWithDebInfo + 2 + false + + -DCMAKE_GENERATOR:STRING=Ninja +-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo +-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake +-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} +-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} +-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} +-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} +-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} + 0 + D:\git_repos\build-qt-material-widgets-Desktop_Qt_6_2_4_MSVC2019_64bit-Profile + all + false + true CMakeProjectManager.MakeStep 1 - Build - Build + 构建 + 构建 ProjectExplorer.BuildSteps.Build + clean + false + true CMakeProjectManager.MakeStep 1 - Clean - Clean + 清除 + 清除 + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Profile + CMakeProjectManager.CMakeBuildConfiguration + + + MinSizeRel + 2 + false + + -DCMAKE_GENERATOR:STRING=Ninja +-DCMAKE_BUILD_TYPE:STRING=MinSizeRel +-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake +-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} +-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} +-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} +-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} +-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} + D:\git_repos\build-qt-material-widgets-Desktop_Qt_6_2_4_MSVC2019_64bit-MinSizeRel + + + + + all + + false + + true + CMakeProjectManager.MakeStep + + 1 + 构建 + 构建 + ProjectExplorer.BuildSteps.Build + + + + + + clean + + false + + true + CMakeProjectManager.MakeStep + + 1 + 清除 + 清除 ProjectExplorer.BuildSteps.Clean 2 @@ -273,12 +369,12 @@ Minimum Size Release CMakeProjectManager.CMakeBuildConfiguration - 4 + 5 0 - Deploy - Deploy + 部署 + 部署 ProjectExplorer.BuildSteps.Deploy 1 @@ -290,19 +386,20 @@ true true + 0 true 2 + false examples CMakeProjectManager.CMakeRunConfiguration.examples examples - false + false true true - false true - /home/cht/git/build-qt-material-widgets-Desktop-Debug/examples + D:/git_repos/build-qt-material-widgets-Desktop_Qt_6_2_4_MSVC2019_64bit-Debug/examples 1 diff --git a/components/CMakeLists.txt b/components/CMakeLists.txt index 8f2fc18..e05f41d 100644 --- a/components/CMakeLists.txt +++ b/components/CMakeLists.txt @@ -5,29 +5,38 @@ project( VERSION 0.1 LANGUAGES CXX) -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) +set(CMAKE_INCLUDE_CURRENT_DIR ON) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -find_package(Qt5 REQUIRED COMPONENTS Core) -find_package(Qt5 REQUIRED COMPONENTS Widgets) +find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets Core stateMachine) +find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Core stateMachine) -file(GLOB THELIB "materiallib/*") +file(GLOB THELIB "materiallib/*") # 利用正则表达式找出源文件 file(GLOB COMPONENTSHEADER "*.h") file(GLOB COMPONENTSSOURCE "*.cpp") file(GLOB HEADER "../include/qmetarial/*") file(GLOB HEADER2 "../include/qmetarial/lib/*") set(RCC_FILES resources.qrc) + add_library( ${PROJECT_NAME} STATIC ${THELIB} ${COMPONENTSHEADER} ${COMPONENTSSOURCE} ${RCC_FILES} ${HEADER} ${HEADER2}) -target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Widgets) + +target_link_libraries(${PROJECT_NAME} PUBLIC + Qt${QT_VERSION_MAJOR}::Core + Qt${QT_VERSION_MAJOR}::Gui + Qt${QT_VERSION_MAJOR}::Widgets + Qt${QT_VERSION_MAJOR}::StateMachine +) + target_include_directories(${PROJECT_NAME} PUBLIC ../include/qmetarial/) + target_link_directories(${PROJECT_NAME} PUBLIC .) diff --git a/components/qtmaterialtabs.cpp b/components/qtmaterialtabs.cpp index 3c531c4..ed2676e 100644 --- a/components/qtmaterialtabs.cpp +++ b/components/qtmaterialtabs.cpp @@ -31,7 +31,7 @@ void QtMaterialTabsPrivate::QtMaterialTabsPrivate::init() q->setStyle(&QtMaterialStyle::instance()); tabLayout->setSpacing(0); - tabLayout->setMargin(0); + tabLayout->setContentsMargins(0,0,0,0); } /*! diff --git a/examples/radiobuttonsettingseditor.cpp b/examples/radiobuttonsettingseditor.cpp index 2a039ce..71afaa6 100644 --- a/examples/radiobuttonsettingseditor.cpp +++ b/examples/radiobuttonsettingseditor.cpp @@ -47,7 +47,7 @@ RadioButtonSettingsEditor::RadioButtonSettingsEditor(QWidget *parent) layout->setAlignment(Qt::AlignCenter); - layout->setMargin(0); + layout->setContentsMargins(0,0,0,0); layout->setSpacing(0); setupForm();