diff --git a/src/ChangShaTour/ChangShaTour.pro.user b/src/ChangShaTour/ChangShaTour.pro.user index 8e2f2eb..6c456ec 100644 --- a/src/ChangShaTour/ChangShaTour.pro.user +++ b/src/ChangShaTour/ChangShaTour.pro.user @@ -1,10 +1,10 @@ - + EnvironmentId - {61ba832e-6c30-4ab6-b0b8-ace44f46ca0c} + {4109ff11-a646-43d1-9619-aeb32783df6e} ProjectExplorer.Project.ActiveTarget @@ -44,8 +44,8 @@ true 0 8 - false - 0 + true + 1 true true true @@ -67,11 +67,11 @@ Desktop Qt 5.14.2 MSVC2017 64bit Desktop Qt 5.14.2 MSVC2017 64bit qt.qt5.5142.win64_msvc2017_64_kit - 0 + 1 0 0 - D:/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug + E:/ChangShaTour/Trip-in-Chang-sha/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug true @@ -119,7 +119,7 @@ 2 - D:/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Release + E:/ChangShaTour/Trip-in-Chang-sha/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Release true @@ -167,7 +167,7 @@ 0 - D:/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Profile + E:/ChangShaTour/Trip-in-Chang-sha/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Profile true @@ -288,8 +288,8 @@ 2 ChangShaTour2 - Qt4ProjectManager.Qt4RunConfiguration:D:/gitRepositories/TourInChangSha/src/ChangShaTour/ChangShaTour.pro - D:/gitRepositories/TourInChangSha/src/ChangShaTour/ChangShaTour.pro + Qt4ProjectManager.Qt4RunConfiguration:C:/Users/13648/Desktop/Trip-in-Chang-sha-8a043ecb0a246aecbb035065accda093da77fdf0/ChangShaTour/ChangShaTour.pro + C:/Users/13648/Desktop/Trip-in-Chang-sha-8a043ecb0a246aecbb035065accda093da77fdf0/ChangShaTour/ChangShaTour.pro false @@ -300,256 +300,13 @@ false true - D:/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug + E:/ChangShaTour/Trip-in-Chang-sha/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Release 1 ProjectExplorer.Project.Target.1 - - Desktop Qt 5.14.2 MinGW 32-bit - Desktop Qt 5.14.2 MinGW 32-bit - qt.qt5.5142.win32_mingw73_kit - 0 - 0 - 0 - - D:/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_32_bit-Debug - - - true - QtProjectManager.QMakeBuildStep - true - - false - false - false - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - - - D:/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_32_bit-Release - - - true - QtProjectManager.QMakeBuildStep - false - - false - false - true - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Release - Qt4ProjectManager.Qt4BuildConfiguration - 0 - - - D:/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_32_bit-Profile - - - true - QtProjectManager.QMakeBuildStep - true - - false - true - true - - - true - Qt4ProjectManager.MakeStep - - false - - - false - - 2 - Build - Build - ProjectExplorer.BuildSteps.Build - - - - true - Qt4ProjectManager.MakeStep - - true - clean - - false - - 1 - Clean - Clean - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Profile - Qt4ProjectManager.Qt4BuildConfiguration - 0 - - 3 - - - 0 - Deploy - Deploy - ProjectExplorer.BuildSteps.Deploy - - 1 - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - dwarf - - cpu-cycles - - - 250 - - -e - cpu-cycles - --call-graph - dwarf,4096 - -F - 250 - - -F - true - 4096 - false - false - 1000 - - true - - false - false - false - false - true - 0.01 - 10 - true - kcachegrind - 1 - 25 - - 1 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - ProjectExplorer.CustomExecutableRunConfiguration - - - false - - false - true - false - false - true - - - - 1 - - - - ProjectExplorer.Project.Target.2 Desktop Qt 5.14.2 MinGW 64-bit Desktop Qt 5.14.2 MinGW 64-bit @@ -558,7 +315,7 @@ 0 0 - D:/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + E:/ChangShaTour/Trip-in-Chang-sha/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_64_bit-Debug true @@ -606,7 +363,7 @@ 2 - D:/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_64_bit-Release + E:/ChangShaTour/Trip-in-Chang-sha/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_64_bit-Release true @@ -654,7 +411,7 @@ 0 - D:/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_64_bit-Profile + E:/ChangShaTour/Trip-in-Chang-sha/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_64_bit-Profile true @@ -793,7 +550,7 @@ ProjectExplorer.Project.TargetCount - 3 + 2 ProjectExplorer.Project.Updater.FileVersion diff --git a/src/ChangShaTour/ChangShaTour.pro.user.0c4c8cc b/src/ChangShaTour/ChangShaTour.pro.user.0c4c8cc new file mode 100644 index 0000000..08f2061 --- /dev/null +++ b/src/ChangShaTour/ChangShaTour.pro.user.0c4c8cc @@ -0,0 +1,319 @@ + + + + + + EnvironmentId + {0c4c8ccc-c524-4850-ba23-7e124d5915df} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.14.2 MSVC2017 64bit + Desktop Qt 5.14.2 MSVC2017 64bit + qt.qt5.5142.win64_msvc2017_64_kit + 0 + 0 + 0 + + F:/QtDemo/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + F:/QtDemo/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + F:/QtDemo/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:F:/QtDemo/ChangShaTour/ChangShaTour.pro + F:/QtDemo/ChangShaTour/ChangShaTour.pro + + false + + false + true + true + false + false + true + + F:/QtDemo/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/src/ChangShaTour/ChangShaTour.pro.user.4109ff1 b/src/ChangShaTour/ChangShaTour.pro.user.4109ff1 new file mode 100644 index 0000000..54b70f7 --- /dev/null +++ b/src/ChangShaTour/ChangShaTour.pro.user.4109ff1 @@ -0,0 +1,562 @@ + + + + + + EnvironmentId + {4109ff11-a646-43d1-9619-aeb32783df6e} + + + ProjectExplorer.Project.ActiveTarget + 1 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.14.2 MinGW 64-bit + Desktop Qt 5.14.2 MinGW 64-bit + qt.qt5.5142.win64_mingw73_kit + 0 + 0 + 0 + + E:/ChangShaTour/Trip-in-Chang-sha/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/ChangShaTour/Trip-in-Chang-sha/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/ChangShaTour/Trip-in-Chang-sha/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.14.2 MSVC2017 64bit + Desktop Qt 5.14.2 MSVC2017 64bit + qt.qt5.5142.win64_msvc2017_64_kit + 0 + 0 + 0 + + E:/ChangShaTour/Trip-in-Chang-sha/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + E:/ChangShaTour/Trip-in-Chang-sha/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + E:/ChangShaTour/Trip-in-Chang-sha/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:E:/ChangShaTour/Trip-in-Chang-sha/ChangShaTour/ChangShaTour.pro + E:/ChangShaTour/Trip-in-Chang-sha/ChangShaTour/ChangShaTour.pro + + false + + false + true + true + false + false + true + + E:/ChangShaTour/Trip-in-Chang-sha/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug + + 1 + + + + ProjectExplorer.Project.TargetCount + 2 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/src/ChangShaTour/ChangShaTour.pro.user.61ba832 b/src/ChangShaTour/ChangShaTour.pro.user.61ba832 new file mode 100644 index 0000000..e2c9e33 --- /dev/null +++ b/src/ChangShaTour/ChangShaTour.pro.user.61ba832 @@ -0,0 +1,805 @@ + + + + + + EnvironmentId + {61ba832e-6c30-4ab6-b0b8-ace44f46ca0c} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + false + 0 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.14.2 MSVC2017 64bit + Desktop Qt 5.14.2 MSVC2017 64bit + qt.qt5.5142.win64_msvc2017_64_kit + 0 + 0 + 0 + + D:/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + D:/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + D:/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:D:/ChangShaTour/ChangShaTour.pro + D:/ChangShaTour/ChangShaTour.pro + + false + + false + true + true + false + false + true + + D:/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.14.2 MinGW 32-bit + Desktop Qt 5.14.2 MinGW 32-bit + qt.qt5.5142.win32_mingw73_kit + 0 + 0 + 0 + + D:/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_32_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + D:/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_32_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + D:/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_32_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.2 + + Desktop Qt 5.14.2 MinGW 64-bit + Desktop Qt 5.14.2 MinGW 64-bit + qt.qt5.5142.win64_mingw73_kit + 0 + 0 + 0 + + D:/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + D:/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + D:/build-ChangShaTour-Desktop_Qt_5_14_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + ProjectExplorer.CustomExecutableRunConfiguration + + + false + + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 3 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/src/ChangShaTour/ChangShaTour.pro.user.c9f9416 b/src/ChangShaTour/ChangShaTour.pro.user.c9f9416 new file mode 100644 index 0000000..57a164a --- /dev/null +++ b/src/ChangShaTour/ChangShaTour.pro.user.c9f9416 @@ -0,0 +1,562 @@ + + + + + + EnvironmentId + {c9f94164-08c8-4e3c-b552-0ae5039b502e} + + + ProjectExplorer.Project.ActiveTarget + 1 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.14.2 MSVC2017 32bit + Desktop Qt 5.14.2 MSVC2017 32bit + qt.qt5.5142.win32_msvc2017_kit + 0 + 0 + 0 + + D:/kunlin/OneDrive/QT project/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_32bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + D:/kunlin/OneDrive/QT project/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_32bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + D:/kunlin/OneDrive/QT project/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_32bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:D:/kunlin/OneDrive/QT project/ChangShaTour/ChangShaTour.pro + D:/kunlin/OneDrive/QT project/ChangShaTour/ChangShaTour.pro + + false + + false + true + true + false + false + true + + D:/kunlin/OneDrive/QT project/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_32bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop Qt 5.14.2 MSVC2017 64bit + Desktop Qt 5.14.2 MSVC2017 64bit + qt.qt5.5142.win64_msvc2017_64_kit + 1 + 0 + 0 + + D:/kunlin/OneDrive/QT project/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug + + + true + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + D:/kunlin/OneDrive/QT project/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + + D:/kunlin/OneDrive/QT project/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:D:/kunlin/OneDrive/QT project/ChangShaTour/ChangShaTour.pro + D:/kunlin/OneDrive/QT project/ChangShaTour/ChangShaTour.pro + + false + + false + true + true + false + false + true + + D:/kunlin/OneDrive/QT project/build-ChangShaTour-Desktop_Qt_5_14_2_MSVC2017_64bit-Release + + 1 + + + + ProjectExplorer.Project.TargetCount + 2 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/src/ChangShaTour/favoritewidget.cpp b/src/ChangShaTour/favoritewidget.cpp index 6c0828a..ce58bc5 100644 --- a/src/ChangShaTour/favoritewidget.cpp +++ b/src/ChangShaTour/favoritewidget.cpp @@ -63,6 +63,29 @@ void FavoriteWidget::switchToRoute() favoRoutesWidget->setVisible(true); } + +void FavoriteWidget::switchToShowRouteInfo(Route * routeToShow) +{ + invisibleAllScreens(); + functionWidget->setVisible(true); + showRouteInfoWidget->setVisible(true); + refreshButton->setVisible(false); + showRouteInfoWidget->setRouteToShow(routeToShow); + showRouteInfoWidget->initWidget(); + +} +void FavoriteWidget::switchToFavorite() +{ + + showRouteInfoWidget->deleteLater(); + initShowRouteInfoWidget(); + invisibleAllScreens(); + refreshButton->setVisible(true); + favoRoutesWidget->setVisible(true); + favoPlacesBtn->setVisible(true); + favoRoutesBtn->setVisible(true); +} + //从美团数据库获取详情页,暂只获取名字和图片链接 void FavoriteWidget::queryMeituanDatabase(QString url,QString cateId) { @@ -147,6 +170,7 @@ void FavoriteWidget::setFavRouteScreen() { favoRoutesWidget = new QWidget(); + favoRoutesWidget->setVisible(false); favoRoutesWidget->setStyleSheet("background-color: rgba(0, 0, 0, 0);" "border:none;"); @@ -154,12 +178,13 @@ void FavoriteWidget::setFavRouteScreen() numOfFavRoutes = 0; favRoutesIdList = new int[100]; - favRoutesList = new Route[100]; + //favRoutesList = new Route[100]; getFavRoutesList(); setFavRoutesBtns(); favoRoutesWidget->setLayout(verticalLayout); verLayout->addWidget(favoRoutesWidget); + favoRoutesWidget->setVisible(false); } @@ -174,24 +199,26 @@ void FavoriteWidget::getFavRoutesList() favRoutesIdList[numOfFavRoutes] = query.value("routeId").toInt(); numOfFavRoutes += 1; } + favRoutesList = new Route *[numOfFavRoutes]; - for(int i = numOfFavRoutes; i > 0; i--) + for(int i = 0; i < numOfFavRoutes; i++) { - QDateTime * startTimeList = new QDateTime[16]; - QDateTime * endTimeList = new QDateTime[16]; + favRoutesList[i] = new Route(); + QDateTime * startTimeList = new QDateTime[21]; + QDateTime * endTimeList = new QDateTime[21]; QStringList placeNameList; QStringList urlList; QStringList cateIdList; QStringList trafficList; - int * distanceList = new int[16]; - int * timeCostList = new int[16]; + int * distanceList = new int[21]; + int * timeCostList = new int[21]; QStringList descriptionList; - query.prepare("select * from favPlaces where userId = ? and routeId = ? order by placeNo"); + query.prepare("select * from favRoutes where userId = ? and routeId = ? order by placeNo"); query.addBindValue(Id); - query.addBindValue(favRoutesIdList[i-1]); + query.addBindValue(favRoutesIdList[i]); query.exec(); - favRoutesList[numOfFavRoutes - i].setUserId(Id); + favRoutesList[i]->setUserId(Id); int j = 0; while(query.next()) { @@ -207,8 +234,8 @@ void FavoriteWidget::getFavRoutesList() int timeCost = query.value("timeCost").toInt() / 60.0; QString description = query.value("description").toString(); - favRoutesList[numOfFavRoutes - i].setRouteId(routeId); - favRoutesList[numOfFavRoutes - i].setRouteName(routeName); + favRoutesList[i]->setRouteId(routeId); + favRoutesList[i]->setRouteName(routeName); startTimeList[j] = startTime; endTimeList[j] = endTime; placeNameList.append(placeName); @@ -220,17 +247,18 @@ void FavoriteWidget::getFavRoutesList() descriptionList.append(description); j++; } - favRoutesList[numOfFavRoutes - i].setAllItems(placeNameList, urlList, cateIdList, startTimeList, endTimeList, trafficList, distanceList, timeCostList, descriptionList); + favRoutesList[i]->setAllItems(placeNameList, urlList, cateIdList, startTimeList, endTimeList, trafficList, distanceList, timeCostList, descriptionList); } } void FavoriteWidget::setFavRoutesBtns() { - for(int i = 0; i < numOfFavRoutes; i++) + QPushButton ** favRoutesBtnList = (QPushButton **)malloc(sizeof(QPushButton *) * 5); + for(int i = numOfFavRoutes - 1; i >= 0; i--) { - Route journey = favRoutesList[i]; - QString routeName = journey.getRouteName(); - RouteItem * head = journey.getAllItems(); + Route *favRoute = favRoutesList[i]; + QString routeName = favRoute->getRouteName(); + RouteItem * head = favRoute->getAllItems(); head = head->next; QString text; text += routeName; @@ -242,10 +270,11 @@ void FavoriteWidget::setFavRoutesBtns() text += "--->"; text += head->placeName; } - QPushButton * journeyButton = new QPushButton(text); - journeyButton->setStyleSheet("text-align : left;"); - InitButton(journeyButton); - verticalLayout->addWidget(journeyButton); + favRoutesBtnList[i] = new QPushButton(text); + connect(favRoutesBtnList[i],&QPushButton::clicked,this,[=](){switchToShowRouteInfo(favRoutesList[i]);}); + favRoutesBtnList[i]->setStyleSheet("text-align : left;"); + InitButton(favRoutesBtnList[i]); + verticalLayout->addWidget(favRoutesBtnList[i]); } } @@ -324,6 +353,8 @@ void FavoriteWidget::invisibleAllScreens() favoRoutesWidget->setVisible(false); favoRoutesBtn->setVisible(false); favoPlacesBtn->setVisible(false); + functionWidget->setVisible(false); + showRouteInfoWidget->setVisible(false); } @@ -343,6 +374,12 @@ void FavoriteWidget::InitFavoriteWidget() verLayout->setMargin(35); setLayout(verLayout); + //QHBoxLayout * refreshLayout = new QHBoxLayout(); + refreshButton = new QPushButton("刷新"); + connect(refreshButton, &QPushButton::clicked, this, &FavoriteWidget::refreshe); + verLayout->addWidget(refreshButton); + //verLayout->addLayout(refreshLayout); + QHBoxLayout *screenLayout=new QHBoxLayout(); favoRoutesBtn=new QPushButton("路线收藏夹"); @@ -353,6 +390,9 @@ void FavoriteWidget::InitFavoriteWidget() screenLayout->addWidget(favoPlacesBtn); InitButton(favoPlacesBtn); + initFunctionWidget(); + initShowRouteInfoWidget(); + web = new WebWidget(); web->setVisible(false); //qDebug()<<"no error"; @@ -367,13 +407,174 @@ void FavoriteWidget::InitFavoriteWidget() setFavPlaceScreen(); setFavRouteScreen(); setPageBtns(); - favoRoutesWidget->setVisible(false); + connect(favoPlacesBtn, &QPushButton::clicked, this, &FavoriteWidget::switchToPlace); connect(favoRoutesBtn, &QPushButton::clicked, this, &FavoriteWidget::switchToRoute); connect(web->getReturnBtn(), &QPushButton::clicked, this, &FavoriteWidget::webReturn); } +void FavoriteWidget::initShowRouteInfoWidget() +{ + showRouteInfoWidget = new ShowRouteInfoWidget(); + showRouteInfoWidget->setVisible(false); + verLayout->addWidget(showRouteInfoWidget); +} +void FavoriteWidget::initFunctionWidget() +{ + functionWidget = new QWidget(); + QHBoxLayout * horiLayout = new QHBoxLayout(); + functionWidget->setLayout(horiLayout); + + returnBtn = new QPushButton("返回"); + InitButton(returnBtn); + connect(returnBtn,&QPushButton::clicked,this,&FavoriteWidget::switchToFavorite); + horiLayout->addWidget(returnBtn); + + horiLayout->addStretch(5); + + confirmBtn = new QPushButton("采纳"); + InitButton(confirmBtn); + connect(confirmBtn,&QPushButton::clicked,this,[=](){addRoute();switchToFavorite();}); + horiLayout->addWidget(confirmBtn); + verLayout->addWidget(functionWidget); + functionWidget->setVisible(false); +} + + +void FavoriteWidget::refresh() +{ + size = 0; + urlList.clear(); + imgList.clear(); + nameList.clear(); + cateIdList.clear(); + + numOfFavRoutes = 0; + favRoutesIdList = new int[100]; + favRoutesList = new Route *[100]; + + QLayoutItem *child; + while ((child = verLayout->takeAt(0)) != 0) + { + //setParent为NULL,防止删除之后界面不消失 + if(child->widget()) + { + child->widget()->setParent(NULL); + } + + delete child; + } + + //setLayout(verLayout); + + QHBoxLayout * refreshLayout = new QHBoxLayout(); + QPushButton * refreshButton = new QPushButton("刷新"); + connect(refreshButton, &QPushButton::clicked, this, &FavoriteWidget::refreshe); + refreshLayout->addWidget(refreshButton); + verLayout->addLayout(refreshLayout); + + QHBoxLayout *screenLayout=new QHBoxLayout(); + + favoRoutesBtn=new QPushButton("路线收藏夹"); + InitButton(favoRoutesBtn); + screenLayout->addWidget(favoRoutesBtn); + + favoPlacesBtn=new QPushButton("场所收藏夹"); + screenLayout->addWidget(favoPlacesBtn); + InitButton(favoPlacesBtn); + + web = new WebWidget(); + web->setVisible(false); + //qDebug()<<"no error"; + setPageMaxNumber(); + + //获取当前页信息 + queryDatabase(); + size = (size < limit? size: limit); + + verLayout->addLayout(screenLayout); + verLayout->addWidget(web); + setFavPlaceScreen(); + setFavRouteScreen(); + setPageBtns(); + + + connect(favoPlacesBtn, &QPushButton::clicked, this, &FavoriteWidget::switchToPlace); + connect(favoRoutesBtn, &QPushButton::clicked, this, &FavoriteWidget::switchToRoute); + connect(web->getReturnBtn(), &QPushButton::clicked, this, &FavoriteWidget::webReturn); +} + +void FavoriteWidget::refreshe() +{ + favoPlacesWidget->deleteLater(); + favoRoutesWidget->deleteLater(); + setFavPlaceScreen(); + setFavRouteScreen(); + setPageBtns(); +} + +void FavoriteWidget::addRoute() +{ + Route * routeFav = showRouteInfoWidget->getRouteToShow(); + RouteItem * routeItemsFav = routeFav->getAllItems(); + QSqlQuery query(userDb); + QString sql_count = "select count(distinct routeId) from journey where userId = ?;"; + query.prepare(sql_count); + query.addBindValue(Id); + query.exec(); + query.next(); + int count = query.value(0).toInt(); + qDebug()<getPlaceSize(); + while(routeItemsFav->next != NULL) + { + routeItemsFav = routeItemsFav->next; + query.prepare(sql); + query.addBindValue(Id); + query.addBindValue(routeId); + //query.addBindValue(routeFav->getRouteId()); + query.addBindValue(routeFav->getRouteName()); + //query.addBindValue(routeFav->getRouteName()); + query.addBindValue(i); + query.addBindValue(routeItemsFav->startTime.toString("yyyy-MM-dd HH:mm:ss")); + query.addBindValue(routeItemsFav->endTime.toString("yyyy-MM-dd HH:mm:ss")); + query.addBindValue(routeItemsFav->placeName); + query.addBindValue(routeItemsFav->url); + query.addBindValue(routeItemsFav->cateId); + query.addBindValue(routeItemsFav->traffic); + query.addBindValue(routeItemsFav->distance); + query.addBindValue(routeItemsFav->timeCost); + query.addBindValue(routeItemsFav->description); + query.addBindValue(1); + query.exec(); + i++; + } + +} + void FavoriteWidget::InitButton(QPushButton * button) { button->setStyleSheet("QPushButton {" diff --git a/src/ChangShaTour/favoritewidget.h b/src/ChangShaTour/favoritewidget.h index 1329555..0d11d19 100644 --- a/src/ChangShaTour/favoritewidget.h +++ b/src/ChangShaTour/favoritewidget.h @@ -9,6 +9,7 @@ #include #include #include +#include "showrouteinfowidget.h" #include #if _MSC_VER >= 1600 @@ -31,7 +32,10 @@ public: void setFavRouteScreen(); QToolButton * setBtn(QToolButton *btn, const QString text); void webReturn(); + void refreshe(); void initScreen(); + void initFunctionWidget(); + void initShowRouteInfoWidget(); void setBtns(); void switchToPlace(); void switchToRoute(); @@ -40,17 +44,23 @@ public: void invisibleAllScreens(); void deleteWidgetsInLayout(); + void addRoute(); + void getFavRoutesList(); void setFavRoutesBtns(); void SetBackground(QString); void InitFavoriteWidget(); + void refresh(); void InitButton(QPushButton *); void InitItemButton(QToolButton *); void resizeEvent(QResizeEvent *event); + void switchToShowRouteInfo(Route * routeToShow); + void switchToFavorite(); + ~FavoriteWidget(); private: @@ -65,8 +75,10 @@ private: QStringList cateIdList; WebWidget * web; + ShowRouteInfoWidget * showRouteInfoWidget; QWidget * pageWidget; QWidget * placesWidget; + QWidget * functionWidget; QVBoxLayout * placesLayout; QPushButton * nextPageBtn; QPushButton * backPageBtn; @@ -81,10 +93,14 @@ private: QWidget *favoPlacesWidget; QPushButton *favoRoutesBtn; QPushButton *favoPlacesBtn; + QPushButton *returnBtn; + QPushButton *favoriteBtn; + QPushButton *confirmBtn; + QPushButton *refreshButton; int numOfFavRoutes = 0; int * favRoutesIdList; - Route * favRoutesList; + Route ** favRoutesList; QVBoxLayout * verticalLayout; Ui::FavoriteWidget *ui; diff --git a/src/ChangShaTour/journywidget.cpp b/src/ChangShaTour/journywidget.cpp index 690c5fa..0e12594 100644 --- a/src/ChangShaTour/journywidget.cpp +++ b/src/ChangShaTour/journywidget.cpp @@ -6,17 +6,36 @@ JournyWidget::JournyWidget(QWidget *parent) : ui(new Ui::JournyWidget) { ui->setupUi(this); + verLayout = new QVBoxLayout(); + setLayout(verLayout); + + + + + functionWidget = new QWidget(); + initFunctionWidget(); + functionWidget->setVisible(true); + + + journeyChoiceWidget = new QWidget(); + journeyChoiceWidget->setVisible(true); - verticalLayout = new QVBoxLayout(); - numOfJourney = 0; routeIdList = new int[5]; tagList = new int[5]; - journeyList = new Route[5]; + journeyList = new Route *[5]; + + showRouteInfoWidget = new ShowRouteInfoWidget(); + showRouteInfoWidget->setVisible(false); + + verLayout->addWidget(functionWidget); + verLayout->addWidget(journeyChoiceWidget); + verLayout->addWidget(showRouteInfoWidget); getJourneyList(); + setBtns(); - this->setLayout(verticalLayout); + } JournyWidget::~JournyWidget() @@ -27,6 +46,7 @@ JournyWidget::~JournyWidget() void JournyWidget::getJourneyList() { + numOfJourney = 0; QSqlQuery query(userDb); query.prepare("select distinct routeId from journey where userId = ?"); query.addBindValue(Id); @@ -39,6 +59,7 @@ void JournyWidget::getJourneyList() for(int i = 0; i < numOfJourney; i++) { + journeyList[i] = new Route(); QDateTime * startTimeList = new QDateTime[21]; QDateTime * endTimeList = new QDateTime[21]; QStringList placeNameList; @@ -53,7 +74,7 @@ void JournyWidget::getJourneyList() query.addBindValue(Id); query.addBindValue(routeIdList[i]); query.exec(); - journeyList[i].setUserId(Id); + journeyList[i]->setUserId(Id); int j = 0; while(query.next()) { @@ -70,8 +91,8 @@ void JournyWidget::getJourneyList() QString description = query.value("description").toString(); int tag = query.value("tag").toInt(); - journeyList[i].setRouteId(routeId); - journeyList[i].setRouteName(routeName); + journeyList[i]->setRouteId(routeId); + journeyList[i]->setRouteName(routeName); startTimeList[j] = startTime; endTimeList[j] = endTime; placeNameList.append(placeName); @@ -84,20 +105,62 @@ void JournyWidget::getJourneyList() tagList[i] = tag; j++; } - journeyList[i].setAllItems(placeNameList, urlList, cateIdList, startTimeList, endTimeList, trafficList, distanceList, timeCostList, descriptionList); + journeyList[i]->setAllItems(placeNameList, urlList, cateIdList, startTimeList, endTimeList, trafficList, distanceList, timeCostList, descriptionList); } } +void JournyWidget::addFavRoute() +{ + QMessageBox::information(NULL, "success", "已成功添加至路线收藏夹\n可进入\"个人->收藏夹\"查看"); + Route * routeFav = showRouteInfoWidget->getRouteToShow(); + RouteItem * routeItemsFav = routeFav->getAllItems(); + QSqlQuery query(userDb); + QString sql = "insert into favRoutes (userId,routeId,routeName,placeNo,startTime,endTime,placeName,url,cateId,traffic,distance,timeCost,description) values(?,?,?,?,?,?,?,?,?,?,?,?,?);"; + int i = 1; + QString sql_query="select max(routeId) from favRoutes"; + query.exec(sql_query); + query.next(); + int routeId = query.value(0).toInt(); + routeId = routeId+1; + //int size = routeFav->getPlaceSize(); + while(routeItemsFav->next != NULL) + { + routeItemsFav = routeItemsFav->next; + query.prepare(sql); + query.addBindValue(Id); + query.addBindValue(routeId); + //query.addBindValue(routeFav->getRouteId()); + query.addBindValue(routeFav->getRouteName()); + //query.addBindValue(routeFav->getRouteName()); + query.addBindValue(i); + query.addBindValue(routeItemsFav->startTime.toString("yyyy-MM-dd HH:mm:ss")); + query.addBindValue(routeItemsFav->endTime.toString("yyyy-MM-dd HH:mm:ss")); + query.addBindValue(routeItemsFav->placeName); + query.addBindValue(routeItemsFav->url); + query.addBindValue(routeItemsFav->cateId); + query.addBindValue(routeItemsFav->traffic); + query.addBindValue(routeItemsFav->distance); + query.addBindValue(routeItemsFav->timeCost); + query.addBindValue(routeItemsFav->description); + //query.addBindValue(tag); + query.exec(); + i++; + } + +} + void JournyWidget::setBtns() { - QPushButton ** journeyBtnList = (QPushButton **)malloc(sizeof(QPushButton *) * 5); - QPushButton ** modifyBtnList = (QPushButton **)malloc(sizeof(QPushButton *) * 5); - QPushButton ** feedBackBtnList = (QPushButton **)malloc(sizeof(QPushButton *) * 5); + verticalLayout = new QVBoxLayout(); + journeyChoiceWidget->setLayout(verticalLayout); + journeyBtnList = (QPushButton **)malloc(sizeof(QPushButton *) * 5); + modifyBtnList = (QPushButton **)malloc(sizeof(QPushButton *) * 5); + feedBackBtnList = (QPushButton **)malloc(sizeof(QPushButton *) * 5); for(int i = numOfJourney - 1; i >= 0; i--) { - Route journey = journeyList[i]; - QString routeName = journey.getRouteName(); - RouteItem * head = journey.getAllItems(); + Route * journey = journeyList[i]; + QString routeName = journey->getRouteName(); + RouteItem * head = journey->getAllItems(); head = head->next; QString text; text += routeName; @@ -117,9 +180,12 @@ void JournyWidget::setBtns() modifyBtnList[i] = new QPushButton("修改"); modifyBtnList[i]->setFixedSize(200, 50); + connect(modifyBtnList[i],&QPushButton::clicked,this,[=](){switchToModify(journeyList[i],tagList[i]);}); feedBackBtnList[i] = new QPushButton("反馈"); feedBackBtnList[i]->setFixedSize(200, 50); + + connect(journeyBtnList[i],&QPushButton::clicked,this,[=](){journeyRoute = journeyList[i]; switchToShowRouteInfo();}); connect(feedBackBtnList[i], &QPushButton::clicked, this, [=](){setFeedBackButtons(i);}); horizontalLayout->addWidget(journeyBtnList[i]); @@ -128,6 +194,123 @@ void JournyWidget::setBtns() verticalLayout->addLayout(horizontalLayout); } } +void JournyWidget::switchToJourneyChoiceWidget() +{ + showRouteInfoWidget->deleteLater(); + showRouteInfoWidget = new ShowRouteInfoWidget(); + verLayout->addWidget(showRouteInfoWidget); + journeyChoiceWidget->setVisible(true); + showRouteInfoWidget->setVisible(false); + functionWidget->setVisible(true); + returnBtn->setVisible(false); + favoriteBtn->setVisible(false); + refreshBtn->setVisible(true); +} + +void JournyWidget::resetWidget() +{ + journeyChoiceWidget->deleteLater(); + journeyChoiceWidget = new QWidget(); + verLayout->addWidget(journeyChoiceWidget); + getJourneyList(); + + setBtns(); +} +void JournyWidget::switchToModify(Route *routeToModofy,int journeyTag) +{ + modifyWidget = new ModifyWidget(); + modifyWidget->show(); + modifyWidget->setWindowModality(Qt::ApplicationModal); + modifyWidget->InitModify(routeToModofy,journeyTag); +} +void JournyWidget::initFunctionWidget() +{ + QHBoxLayout * horiLayout = new QHBoxLayout(); + functionWidget->setLayout(horiLayout); + + refreshBtn = new QPushButton("刷新"); + InitButton(refreshBtn); + refreshBtn->setVisible(true); + connect(refreshBtn,&QPushButton::clicked,this,&JournyWidget::resetWidget); + + returnBtn = new QPushButton("返回"); + InitButton(returnBtn); + returnBtn->setVisible(false); + horiLayout->addWidget(returnBtn); + + horiLayout->addWidget(refreshBtn); + horiLayout->addStretch(5); + + favoriteBtn = new QPushButton("收藏"); + favoriteBtn->setVisible(false); + InitButton(favoriteBtn); + horiLayout->addWidget(favoriteBtn); + +} +//还需修改,等dong改好modifywidget后再说 +//传入修改完毕的route和该route的Id(tagList[i]) +void JournyWidget::addRoute(Route *routeToAdd,int tag) +{ + RouteItem * routeItemsFav = routeToAdd->getAllItems(); + QSqlQuery query(userDb); + //QString sql_count = "select count(distinct routeId) from journey where userId = ?;"; + //query.prepare(sql_count); + //query.addBindValue(Id); + //query.exec(sql_count); + //query.next(); + int routeId = routeToAdd->getRouteId(); + + QString sql_delete = "delete from journey where routeId = ? and userId = ?"; + query.prepare(sql_delete); + query.addBindValue(routeId); + query.addBindValue(Id); + query.exec(); + QString sql = "insert into journey (userId,routeId,routeName,placeNo,startTime,endTime,placeName,url,cateId,traffic,distance,timeCost,description,tag) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?);"; + int i = 1; + //int size = routeFav->getPlaceSize(); + while(routeItemsFav->next != NULL) + { + routeItemsFav = routeItemsFav->next; + query.prepare(sql); + query.addBindValue(Id); + query.addBindValue(routeId); + //query.addBindValue(routeFav->getRouteId()); + query.addBindValue(routeToAdd->getRouteName()); + //query.addBindValue(routeFav->getRouteName()); + query.addBindValue(i); + query.addBindValue(routeItemsFav->startTime.toString("yyyy-MM-dd HH:mm:ss")); + query.addBindValue(routeItemsFav->endTime.toString("yyyy-MM-dd HH:mm:ss")); + query.addBindValue(routeItemsFav->placeName); + query.addBindValue(routeItemsFav->url); + query.addBindValue(routeItemsFav->cateId); + query.addBindValue(routeItemsFav->traffic); + query.addBindValue(routeItemsFav->distance); + query.addBindValue(routeItemsFav->timeCost); + query.addBindValue(routeItemsFav->description); + query.addBindValue(tag); + query.exec(); + i++; + } + +} + +void JournyWidget::switchToShowRouteInfo() +{ + functionWidget->setVisible(true); + refreshBtn->setVisible(false); + returnBtn->setVisible(true); + favoriteBtn->setVisible(true); + journeyChoiceWidget->setVisible(false); + showRouteInfoWidget->setVisible(true); + + showRouteInfoWidget->setRouteToShow(journeyRoute); + showRouteInfoWidget->initWidget(); + + connect(returnBtn, &QPushButton::clicked, this, &JournyWidget::switchToJourneyChoiceWidget); + + connect(favoriteBtn,&QPushButton::clicked, this, &JournyWidget::addFavRoute); + +} void JournyWidget::setFeedBackButtons(int index) { @@ -187,10 +370,10 @@ void JournyWidget::confirmButtonProcessor(int index) return; } - Route customizedRoute = journeyList[index]; - int routeId = customizedRoute.getRouteId(); - QString routeName = customizedRoute.getRouteName(); - RouteItem * head = customizedRoute.getAllItems(); + Route * customizedRoute = journeyList[index]; + int routeId = customizedRoute->getRouteId(); + QString routeName = customizedRoute->getRouteName(); + RouteItem * head = customizedRoute->getAllItems(); int i = 0; QSqlQuery query(routeDb); @@ -231,3 +414,40 @@ void JournyWidget::confirmButtonProcessor(int index) return; } + +void JournyWidget::InitButton(QPushButton * button) +{ + button->setStyleSheet("QPushButton {" + "color:#ffffff;" + "background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #E1B37C, stop: 1 #E1B37C);" + "border-style:outset;" + "border-radius:10px;" + "font:bold 20px;" + "font-family: Microsoft YaHei;" + "min-width:100px;" + "min-height:20px;" + "padding:4px;" + "} " + "QPushButton:hover {" + "background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #D2AD90, stop: 1 #D2AD90);" + "border-style:outset;" + "border-radius:10px;" + "font:bold 20px;" + "font-family: Microsoft YaHei;" + "min-width:100px;" + "min-height:20px;" + "padding:4px;" + "} " + "QPushButton:pressed {" + "background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #D2AD90, stop: 1 #D2AD90);" + "border-style:outset;" + "border-radius:10px;" + "font:bold 20px;" + "font-family: Microsoft YaHei;" + "min-width:100px;" + "min-height:20px;" + "padding:4px;" + "}"); + button->setFixedSize(120, 40); +} + diff --git a/src/ChangShaTour/journywidget.h b/src/ChangShaTour/journywidget.h index d4f866e..47dfa67 100644 --- a/src/ChangShaTour/journywidget.h +++ b/src/ChangShaTour/journywidget.h @@ -8,7 +8,9 @@ #include #include #include +#include "showrouteinfowidget.h" #include "cglobal.h" +#include "modifywidget.h" #include "route.h" #include "feedbackwidget.h" @@ -31,7 +33,15 @@ public: void getJourneyList(); void setBtns(); void setFeedBackButtons(int index); + void switchToShowRouteInfo(); + void addFavRoute(); + void switchToJourneyChoiceWidget(); void confirmButtonProcessor(int index); + void initFunctionWidget(); + void InitButton(QPushButton * button); + void switchToModify(Route * routeToModofy, int journeyTag); + void resetWidget(); + void addRoute(Route *routeToAdd,int tag); private: Ui::JournyWidget *ui; @@ -39,7 +49,20 @@ private: int numOfJourney; int * routeIdList; int * tagList; - Route * journeyList; + ModifyWidget * modifyWidget; + Route ** journeyList; + QVBoxLayout * verLayout; + QPushButton * returnBtn; + QPushButton * favoriteBtn; + QPushButton * refreshBtn; + QPushButton ** journeyBtnList; + QPushButton ** modifyBtnList; + QPushButton ** feedBackBtnList; + ShowRouteInfoWidget * showRouteInfoWidget; + QWidget * journeyChoiceWidget; + QWidget * functionWidget; + + Route * journeyRoute; QVBoxLayout * verticalLayout; FeedBackWidget * feedBackWidget; }; diff --git a/src/ChangShaTour/planwidget.cpp b/src/ChangShaTour/planwidget.cpp index a081f7e..f575979 100644 --- a/src/ChangShaTour/planwidget.cpp +++ b/src/ChangShaTour/planwidget.cpp @@ -201,7 +201,7 @@ void PlanWidget::switchToRouteChoiceWidget() int i; for(i = 0;isetWindowModality(Qt::ApplicationModal); + setDateWidget->setFixedSize(QSize(400, 200)); + setDateWidget->setWindowTitle("日期设置"); + + QVBoxLayout * verticalLayout = new QVBoxLayout(); + + QHBoxLayout * setDateLayout = new QHBoxLayout(); + QLabel * setDateLabel = new QLabel("请输入开始的日期"); + QDateEdit * setDateEdit = new QDateEdit(); + setDateEdit->setDate(QDate::currentDate()); + setDateLayout->addWidget(setDateLabel); + setDateLayout->addWidget(setDateEdit); + + QHBoxLayout * functionLayout = new QHBoxLayout(); + QPushButton * setDateConfirmBtn = new QPushButton("确定"); + QPushButton * setDateCancleBtn = new QPushButton("取消"); + functionLayout->addWidget(setDateConfirmBtn); + functionLayout->addWidget(setDateCancleBtn); + + verticalLayout->addLayout(setDateLayout); + verticalLayout->addLayout(functionLayout); + setDateWidget->setLayout(verticalLayout); + + setDateWidget->show(); + + connect(setDateConfirmBtn, &QPushButton::clicked, this, [=](){setDateConfirmBtnProcessor(setDateEdit->date());}); + connect(setDateCancleBtn, &QPushButton::clicked, this, &PlanWidget::setDateCancelBtnProcessor); +} + +void PlanWidget::setDateConfirmBtnProcessor(QDate date) +{ + if(date < QDate::currentDate()) + { + QMessageBox::warning(NULL, "警告", "请输入合法的日期!", QMessageBox::Yes); + return; + } + else + { + QString userDateTimeString = date.toString("yyyy-MM-dd") + " 00:00:00"; + QDateTime userDateTime = QDateTime::fromString(userDateTimeString, "yyyy-MM-dd hh:mm:ss"); + QDateTime beginDateTime; + RouteItem * head = recRoute->getAllItems(); + head = head->next; + beginDateTime = head->startTime; + int difference = beginDateTime.daysTo(userDateTime); + while(head) + { + QDateTime startTime = head->startTime; + QString newStartTimeString = startTime.date().addDays(difference).toString("yyyy-MM-dd") + " " + startTime.time().toString(); + QDateTime newStartTime = QDateTime::fromString(newStartTimeString, "yyyy-MM-dd hh:mm:ss"); + head->startTime = newStartTime; + + QDateTime endTime = head->endTime; + QString newEndTimeString = endTime.date().addDays(difference).toString("yyyy-MM-dd") + " " + endTime.time().toString(); + QDateTime newEndTime = QDateTime::fromString(newEndTimeString, "yyyy-MM-dd hh:mm:ss"); + head->endTime = newEndTime; + + head = head->next; + } + setDateWidget->close(); + switchToShowRouteInfo(); + } +} + +void PlanWidget::setDateCancelBtnProcessor() +{ + setDateWidget->close(); +} + void PlanWidget::switchToShowRouteInfo() { int originalIndex = pageIndex; @@ -512,6 +586,7 @@ void PlanWidget::InitLabel(QLabel * label) } void PlanWidget::addFavRoute() { + QMessageBox::information(NULL, "success", "已成功添加至路线收藏夹\n可进入\"个人->收藏夹\"查看"); Route * routeFav = showRouteInfoWidget->getRouteToShow(); RouteItem * routeItemsFav = routeFav->getAllItems(); QSqlQuery query(userDb); @@ -553,6 +628,28 @@ void PlanWidget::addRoute() Route * routeFav = showRouteInfoWidget->getRouteToShow(); RouteItem * routeItemsFav = routeFav->getAllItems(); QSqlQuery query(userDb); + QString sql_count = "select count(distinct routeId) from journey where userId = ?;"; + query.prepare(sql_count); + query.addBindValue(Id); + query.exec(); + query.next(); + int count = query.value(0).toInt(); + qDebug()<setReadOnly(true); - customLine->setReadOnly(true); - foodLine->setReadOnly(true); - nightLine->setReadOnly(true); - animeLine->setReadOnly(true); - loveLine->setReadOnly(true); - - landscapeVerticalLayout->addWidget(landscapeButton); - landscapeVerticalLayout->addWidget(landscapeLine); - customVerticalLayout->addWidget(customButton); - customVerticalLayout->addWidget(customLine); - foodVerticalLayout->addWidget(foodButton); - foodVerticalLayout->addWidget(foodLine); - nightVerticalLayout->addWidget(nightButton); - nightVerticalLayout->addWidget(nightLine); - animeVerticalLayout->addWidget(animeButton); - animeVerticalLayout->addWidget(animeLine); - loveVerticalLayout->addWidget(loveButton); - loveVerticalLayout->addWidget(loveLine); - - gridLayout->addLayout(landscapeVerticalLayout, 0, 0); - gridLayout->addLayout(customVerticalLayout, 0, 1); - gridLayout->addLayout(foodVerticalLayout, 0, 2); - gridLayout->addLayout(nightVerticalLayout, 1, 0); - gridLayout->addLayout(animeVerticalLayout, 1, 1); - gridLayout->addLayout(loveVerticalLayout, 1, 2); + + landscapeButton = new QPushButton(); + customButton = new QPushButton(); + foodButton = new QPushButton(); + nightButton = new QPushButton(); + animeButton = new QPushButton(); + loveButton = new QPushButton(); + + InitPreferenceButton(landscapeButton, "landscapeButton"); + InitPreferenceButton(customButton, "customButton"); + InitPreferenceButton(foodButton, "foodButton"); + InitPreferenceButton(nightButton, "nightButton"); + InitPreferenceButton(animeButton, "animeButton"); + InitPreferenceButton(loveButton, "loveButton"); + + gridLayout->addWidget(landscapeButton, 0, 0); + gridLayout->addWidget(customButton, 0, 1); + gridLayout->addWidget(foodButton, 0, 2); + gridLayout->addWidget(nightButton, 1, 0); + gridLayout->addWidget(animeButton, 1, 1); + gridLayout->addWidget(loveButton, 1, 2); setLayout(gridLayout); @@ -71,67 +45,109 @@ PreferenceWidget::PreferenceWidget(QWidget *parent) : void PreferenceWidget::ChooseLandscape() { preference = 1; - landscapeButton->setStyleSheet("QPushButton{background-color: rgb(20, 62, 134);color:rgb(255, 255, 255);}"); - customButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - foodButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - nightButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - animeButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - loveButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); + landscapeButton->setStyleSheet("QPushButton {" + "border-image: url(./softImages/preferenceWidget/landscapeButton.jpg);" + //"border-style:outset;" + "border-radius:80px;" + //"min-width:100px;" + //"min-height:20px;" + //"padding:4px;" + "}"); + InitPreferenceButton(customButton, "customButton"); + InitPreferenceButton(foodButton, "foodButton"); + InitPreferenceButton(nightButton, "nightButton"); + InitPreferenceButton(animeButton, "animeButton"); + InitPreferenceButton(loveButton, "loveButton"); } void PreferenceWidget::ChooseCustom() { preference = 2; - customButton->setStyleSheet("QPushButton{background-color: rgb(20, 62, 134);color:rgb(255, 255, 255);}"); - landscapeButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - foodButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - nightButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - animeButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - loveButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); + customButton->setStyleSheet("QPushButton {" + "border-image: url(./softImages/preferenceWidget/customButton.jpg);" + //"border-style:outset;" + "border-radius:80px;" + //"min-width:100px;" + //"min-height:20px;" + //"padding:4px;" + "}"); + InitPreferenceButton(landscapeButton, "landscapeButton"); + InitPreferenceButton(foodButton, "foodButton"); + InitPreferenceButton(nightButton, "nightButton"); + InitPreferenceButton(animeButton, "animeButton"); + InitPreferenceButton(loveButton, "loveButton"); } void PreferenceWidget::ChooseFood() { preference = 3; - foodButton->setStyleSheet("QPushButton{background-color: rgb(20, 62, 134);color:rgb(255, 255, 255);}"); - customButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - landscapeButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - nightButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - animeButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - loveButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); + foodButton->setStyleSheet("QPushButton {" + "border-image: url(./softImages/preferenceWidget/foodButton.jpg);" + //"border-style:outset;" + "border-radius:80px;" + //"min-width:100px;" + //"min-height:20px;" + //"padding:4px;" + "}"); + InitPreferenceButton(landscapeButton, "landscapeButton"); + InitPreferenceButton(customButton, "customButton"); + InitPreferenceButton(nightButton, "nightButton"); + InitPreferenceButton(animeButton, "animeButton"); + InitPreferenceButton(loveButton, "loveButton"); } void PreferenceWidget::ChooseNight() { preference = 4; - nightButton->setStyleSheet("QPushButton{background-color: rgb(20, 62, 134);color:rgb(255, 255, 255);}"); - customButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - foodButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - landscapeButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - animeButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - loveButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); + nightButton->setStyleSheet("QPushButton {" + "border-image: url(./softImages/preferenceWidget/nightButton.jpg);" + //"border-style:outset;" + "border-radius:80px;" + //"min-width:100px;" + //"min-height:20px;" + //"padding:4px;" + "}"); + InitPreferenceButton(landscapeButton, "landscapeButton"); + InitPreferenceButton(customButton, "customButton"); + InitPreferenceButton(foodButton, "foodButton"); + InitPreferenceButton(animeButton, "animeButton"); + InitPreferenceButton(loveButton, "loveButton"); } void PreferenceWidget::ChooseAnime() { preference = 5; - animeButton->setStyleSheet("QPushButton{background-color: rgb(20, 62, 134);color:rgb(255, 255, 255);}"); - customButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - foodButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - nightButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - landscapeButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - loveButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); + animeButton->setStyleSheet("QPushButton {" + "border-image: url(./softImages/preferenceWidget/animeButton.jpg);" + //"border-style:outset;" + "border-radius:80px;" + //"min-width:100px;" + //"min-height:20px;" + //"padding:4px;" + "}"); + InitPreferenceButton(landscapeButton, "landscapeButton"); + InitPreferenceButton(customButton, "customButton"); + InitPreferenceButton(foodButton, "foodButton"); + InitPreferenceButton(nightButton, "nightButton"); + InitPreferenceButton(loveButton, "loveButton"); } void PreferenceWidget::ChooseLove() { preference = 6; - loveButton->setStyleSheet("QPushButton{background-color: rgb(20, 62, 134);color:rgb(255, 255, 255);}"); - customButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - foodButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - nightButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - animeButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); - landscapeButton->setStyleSheet("QPushButton{color:rgb(255, 255, 255);}""QPushButton:hover{background-color: rgb(20, 62, 134);border:none;color:rgb(255, 255, 255);}"); + loveButton->setStyleSheet("QPushButton {" + "border-image: url(./softImages/preferenceWidget/loveButton.jpg);" + //"border-style:outset;" + "border-radius:80px;" + //"min-width:100px;" + //"min-height:20px;" + //"padding:4px;" + "}"); + InitPreferenceButton(landscapeButton, "landscapeButton"); + InitPreferenceButton(customButton, "customButton"); + InitPreferenceButton(foodButton, "foodButton"); + InitPreferenceButton(nightButton, "nightButton"); + InitPreferenceButton(animeButton, "animeButton"); } int PreferenceWidget::getPreference() @@ -143,3 +159,32 @@ PreferenceWidget::~PreferenceWidget() { delete ui; } + +void PreferenceWidget::InitPreferenceButton(QPushButton * button, QString url) +{ + button->setFixedSize(160, 160); + button->setStyleSheet("QPushButton {" + "border-image: url(./softImages/preferenceWidget/" + url + "Blur.jpg);" + //"border-style:outset;" + "border-radius:80px;" + //"min-width:100px;" + //"min-height:20px;" + //"padding:4px;" + "}" + "QPushButton:hover {" + "border-image: url(./softImages/preferenceWidget/" + url + ".jpg);" + //"border-style:outset;" + "border-radius:80px;" + //"min-width:100px;" + //"min-height:20px;" + //"padding:4px;" + "}" + "QPushButton:pressed {" + "border-image: url(./softImages/preferenceWidget/" + url + ".jpg);" + //"border-style:outset;" + "border-radius:80px;" + //"min-width:100px;" + //"min-height:20px;" + //"padding:4px;" + "}"); +} diff --git a/src/ChangShaTour/preferencewidget.h b/src/ChangShaTour/preferencewidget.h index ea10c63..378d6d0 100644 --- a/src/ChangShaTour/preferencewidget.h +++ b/src/ChangShaTour/preferencewidget.h @@ -25,6 +25,9 @@ public: int getPreference(); + void InitPreferenceWidget(); + void InitPreferenceButton(QPushButton *, QString); + private: Ui::PreferenceWidget *ui; @@ -37,13 +40,6 @@ private: QPushButton * animeButton; QPushButton * loveButton; - QTextEdit * landscapeLine; - QTextEdit * customLine; - QTextEdit * foodLine; - QTextEdit * nightLine; - QTextEdit * animeLine; - QTextEdit * loveLine; - int preference; private slots: diff --git a/src/ChangShaTour/routechoicewidget.cpp b/src/ChangShaTour/routechoicewidget.cpp index aa15aae..7653c80 100644 --- a/src/ChangShaTour/routechoicewidget.cpp +++ b/src/ChangShaTour/routechoicewidget.cpp @@ -30,7 +30,7 @@ void RouteChoiceWidget::setBtns(Route ** routeList, int len) text += head->placeName; } recRouteButtons[i] = new QPushButton(text); - recRouteButtons[i]->setStyleSheet("QPushButton{text-align : left;}"); + InitRouteButton(recRouteButtons[i]); verticalLayout->addWidget(recRouteButtons[i]); } } @@ -40,6 +40,35 @@ QPushButton ** RouteChoiceWidget::getRecBtns() return this->recRouteButtons; } +void RouteChoiceWidget::InitRouteButton(QPushButton * button) +{ + button->setStyleSheet("QPushButton {" + "color:#ffffff;" + "background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #D3AB77, stop: 1 #D3AB77);" + "border-style:outset;" + "border-radius:10px;" + "font:16px;" + "font-family: Microsoft YaHei;" + "text-align : left;" + "} " + "QPushButton:hover {" + "background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #D2782D, stop: 1 #D2782D);" + "border-style:outset;" + "border-radius:10px;" + "font:bold 16px;" + "font-family: Microsoft YaHei;" + "text-align : left;" + "} " + "QPushButton:pressed {" + "background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #D2782D, stop: 1 #D2782D);" + "border-style:outset;" + "border-radius:10px;" + "font:bold 16px;" + "font-family: Microsoft YaHei;" + "text-align : left;" + "}"); +} + RouteChoiceWidget::~RouteChoiceWidget() { delete ui; diff --git a/src/ChangShaTour/routechoicewidget.h b/src/ChangShaTour/routechoicewidget.h index 2a6415a..e00e6c4 100644 --- a/src/ChangShaTour/routechoicewidget.h +++ b/src/ChangShaTour/routechoicewidget.h @@ -25,6 +25,8 @@ public: void setBtns(Route ** routeList, int len); QPushButton ** getRecBtns(); + void InitRouteButton(QPushButton *); + private: Ui::RouteChoiceWidget *ui; diff --git a/src/ChangShaTour/searchwidget.cpp b/src/ChangShaTour/searchwidget.cpp index 25eab72..1e202ee 100644 --- a/src/ChangShaTour/searchwidget.cpp +++ b/src/ChangShaTour/searchwidget.cpp @@ -7,56 +7,7 @@ SearchWidget::SearchWidget(QWidget *parent) : { ui->setupUi(this); - showLimit = 15; - cateList.append("food"); - cateList.append("entertainment"); - cateList.append("hotel"); - cateList.append("attractions"); - cateList.append("sport"); - lengthList = (int *)malloc(sizeof(int) * cateList.length()); - idList = (int *)malloc(sizeof(int) * showLimit); - - mainLayout = new QVBoxLayout(); - - subWidget = new QWidget(); - web = new WebWidget(); - nullWidget = new QLabel("抱歉,未找到您要的结果。"); - - subLayout = new QVBoxLayout(); - - rtn = new QPushButton("返回"); - scroll = new QScrollArea(); - - scrollWidget = new QWidget(); - scrollLayout = new QVBoxLayout(); - - btnList = (QToolButton **)malloc(sizeof(QToolButton *) * showLimit); - - switchLine = new QHBoxLayout(); - up = new QPushButton("上一页"); - down = new QPushButton("下一页"); - - //设置布局 - this->setLayout(mainLayout); - - mainLayout->addWidget(subWidget); - mainLayout->addWidget(web); - mainLayout->addWidget(nullWidget); - web->setVisible(false); - nullWidget->setVisible(false); - - subWidget->setLayout(subLayout); - - subLayout->addWidget(rtn); - subLayout->addWidget(scroll); - subLayout->addLayout(switchLine); - - switchLine->addWidget(up); - switchLine->addWidget(down); - - connect(web->getReturnBtn(), &QPushButton::clicked, this, &SearchWidget::returnWeb); - connect(up, &QPushButton::clicked, this, &SearchWidget::pageUp); - connect(down, &QPushButton::clicked, this, &SearchWidget::pageDown); + InitSearchWidget(); } SearchWidget::~SearchWidget() @@ -142,8 +93,9 @@ QToolButton *SearchWidget::setBtn(QToolButton *btn, const QString iconPath, cons btn->setIcon(QIcon(iconPath)); btn->setText(text); btn->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); - btn->setIconSize(QSize(100,200)); - btn->setFixedSize(1230,200); + btn->setIconSize(QSize(100,120)); + btn->setFixedSize(1360,120); + InitItemButton(btn); return btn; } @@ -153,7 +105,7 @@ void SearchWidget::setBtns() int i = currentHead; // qDebug() << "currentHead:" << currentHead; // qDebug() << "currentQueryLength:" << currentQueryLength; - for (i; i < currentHead + currentQueryLength; i++) + for ( ; i < currentHead + currentQueryLength; i++) { int index = i; //下载图片到本地 @@ -166,7 +118,7 @@ void SearchWidget::setBtns() disconnect(btnList[index], 0, 0, 0); connect(btnList[index], &QToolButton::clicked, this, [=](){web->loadPage(nameList[index], imgList[index], urlList[index], cateIdList[index]); subWidget->setVisible(false); web->setVisible(true); nullWidget->setVisible(false);}); } - for (i; i < showLimit; i++) + for ( ; i < showLimit; i++) { int index = i; btnList[index] = setBtn(btnList[index], "./images/transparent.png", ""); @@ -181,6 +133,8 @@ void SearchWidget::querySet() { rollTop(); + WaitStart(); + //重置存储查询信息的列表 nameList.clear(); urlList.clear(); @@ -247,6 +201,8 @@ void SearchWidget::querySet() scroll->setWidget(scrollWidget); + WaitEnd(); + DisposalOtherEvents(25); } void SearchWidget::showResult() @@ -320,3 +276,170 @@ void SearchWidget::rollTop() scrollBar->setValue(scrollBar->minimum()); } +void SearchWidget::SetBackground(QString url) +{ + background->setPixmap(url); + background->setScaledContents(true); +} + +void SearchWidget::InitSearchWidget() +{ + background = new QLabel(this); + SetBackground("./softImages/searchWidget/blueHalf.png"); + background->setMargin(30); + + showLimit = 15; + cateList.append("food"); + cateList.append("entertainment"); + cateList.append("hotel"); + cateList.append("attractions"); + cateList.append("sport"); + lengthList = (int *)malloc(sizeof(int) * cateList.length()); + idList = (int *)malloc(sizeof(int) * showLimit); + + mainLayout = new QVBoxLayout(); + mainLayout->setMargin(35); + + subWidget = new QWidget(); + web = new WebWidget(); + nullWidget = new QLabel("抱歉,未找到您要的结果。"); + + subLayout = new QVBoxLayout(); + + rtn = new QPushButton("返回"); + scroll = new QScrollArea(); + scroll->setStyleSheet("border: none;" + "background-color: rgba(0, 0, 0, 0);"); + + scrollWidget = new QWidget(); + scrollWidget->setStyleSheet("border: none;" + "background-color: rgba(0, 0, 0, 0);"); + scrollLayout = new QVBoxLayout(); + + btnList = (QToolButton **)malloc(sizeof(QToolButton *) * showLimit); + + switchLine = new QHBoxLayout(); + up = new QPushButton("上页"); + InitButton(up); + down = new QPushButton("下页"); + InitButton(down); + + //设置布局 + this->setLayout(mainLayout); + + mainLayout->addWidget(subWidget); + mainLayout->addWidget(web); + mainLayout->addWidget(nullWidget); + web->setVisible(false); + nullWidget->setVisible(false); + + subWidget->setLayout(subLayout); + + //subLayout->addWidget(rtn); + subLayout->addWidget(scroll); + subLayout->addLayout(switchLine); + + switchLine->addWidget(up); + switchLine->addStretch(); + switchLine->addWidget(down); + + connect(web->getReturnBtn(), &QPushButton::clicked, this, &SearchWidget::returnWeb); + connect(up, &QPushButton::clicked, this, &SearchWidget::pageUp); + connect(down, &QPushButton::clicked, this, &SearchWidget::pageDown); +} + +void SearchWidget::InitButton(QPushButton * button) +{ + button->setStyleSheet("QPushButton {" + "color:#ffffff;" + "background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #5C9CA8, stop: 1 #5C9CA8);" + "border-style:outset;" + "border-radius:10px;" + "font:bold 20px;" + "font-family: Microsoft YaHei;" + //"min-width:100px;" + //"min-height:20px;" + //"padding:4px;" + "} " + "QPushButton:hover {" + "background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #5F7896, stop: 1 #5F7896);" + "border-style:outset;" + "border-radius:10px;" + "font:bold 20px;" + "font-family: Microsoft YaHei;" + //"min-width:100px;" + //"min-height:20px;" + //"padding:4px;" + "} " + "QPushButton:pressed {" + "background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #5F7896, stop: 1 #5F7896);" + "border-style:outset;" + "border-radius:10px;" + "font:bold 20px;" + "font-family: Microsoft YaHei;" + //"min-width:100px;" + //"min-height:20px;" + //"padding:4px;" + "}"); +} + +void SearchWidget::InitItemButton(QToolButton * button) +{ + button->setStyleSheet("QToolButton {" + "color:#ffffff;" + "background-color: rgba(0, 0, 0, 0);" + "border:none;" + "font:bold 20px;" + "font-family: Microsoft YaHei;" + //"min-width:100px;" + //"min-height:20px;" + //"padding:4px;" + "} " + "QToolButton:hover {" + "background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #5F7896, stop: 1 #5F7896);" + "border-style:outset;" + "border-radius:10px;" + "font:bold 20px;" + "font-family: Microsoft YaHei;" + //"min-width:100px;" + //"min-height:20px;" + //"padding:4px;" + "} " + "QToolButton:pressed {" + "background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #5F7896, stop: 1 #5F7896);" + "border-style:outset;" + "border-radius:10px;" + "font:bold 20px;" + "font-family: Microsoft YaHei;" + //"min-width:100px;" + //"min-height:20px;" + //"padding:4px;" + "}"); +} + +void SearchWidget::resizeEvent(QResizeEvent *event) +{ + background->resize(this->size()); +} + +void SearchWidget::WaitStart() +{ + waitProcess = new QProcess(this); + QStringList arguments; + waitProcess->start("./Wait/Wait.exe"); +} + +void SearchWidget::WaitEnd() +{ + waitProcess->kill(); +} + +void SearchWidget::DisposalOtherEvents(int time) +{ + QElapsedTimer et; + et.start(); + while(et.elapsed() < time) + { + QCoreApplication::processEvents(); + } +} diff --git a/src/ChangShaTour/searchwidget.h b/src/ChangShaTour/searchwidget.h index 46db7e6..c98c0c6 100644 --- a/src/ChangShaTour/searchwidget.h +++ b/src/ChangShaTour/searchwidget.h @@ -13,6 +13,8 @@ #include #include #include +#include +#include #include "databaseconnector.h" #include "webwidget.h" #include "imgdownloader.h" @@ -46,9 +48,21 @@ public: void returnWeb(); void rollTop(); + void SetBackground(QString); + void InitSearchWidget(); + void InitButton(QPushButton *); + void InitItemButton(QToolButton *); + void resizeEvent(QResizeEvent *event); + + void WaitStart(); + void WaitEnd(); + void DisposalOtherEvents(int); + private: Ui::SearchWidget *ui; + QLabel * background; + QString segment; QStringList nameList; @@ -91,6 +105,7 @@ private: QPushButton *up; QPushButton *down; + QProcess * waitProcess; }; #endif // SEARCHWIDGET_H diff --git a/src/ChangShaTour/userwidget.cpp b/src/ChangShaTour/userwidget.cpp index 8590ecf..ae6d0c6 100644 --- a/src/ChangShaTour/userwidget.cpp +++ b/src/ChangShaTour/userwidget.cpp @@ -163,8 +163,6 @@ void UserWidget::InitSubWidget() QHBoxLayout * horiLayout = new QHBoxLayout(); subWidget->setLayout(horiLayout); - qDebug() << "subWidget init start" << endl; - userInfoBtn = new QPushButton(); InitButton(userInfoBtn, "userInfoBtn.jpg", "userInfoBtnBlur.jpg"); userInfoBtn->setStyleSheet("QPushButton {" @@ -188,8 +186,6 @@ void UserWidget::InitSubWidget() historyBtn = new QPushButton(); InitButton(historyBtn, "historyBtn.jpg", "historyBtnblur.jpg"); horiLayout->addWidget(historyBtn); - - qDebug() << "subWidget init end" << endl; } void UserWidget::InitLabel(QLabel * label)