From c13e225d29e38ea43b670147c1b86952757e01e7 Mon Sep 17 00:00:00 2001 From: shouchih_chen Date: Fri, 20 Sep 2024 12:45:36 +0800 Subject: [PATCH 1/3] update for testing vs 2022 --- NameCreater/NameCreater.cpp | 12 +- NameCreater/NameCreater.h | 3 +- NameCreater/NameCreater.pro.user | 416 +++++++++++++++++++++--- NameCreater/NameCreater.vcxproj | 23 +- NameCreater/NameCreater.vcxproj.filters | 9 + NameCreater/customlogo.cpp | 3 +- NameCreater/customlogo2.cpp | 4 +- NameCreater/customlogo2.h | 6 +- 8 files changed, 412 insertions(+), 64 deletions(-) diff --git a/NameCreater/NameCreater.cpp b/NameCreater/NameCreater.cpp index 1d67310..4786358 100644 --- a/NameCreater/NameCreater.cpp +++ b/NameCreater/NameCreater.cpp @@ -18,6 +18,7 @@ #include "NewFiveCreater.h" #include "HKHolderCreater.h" #include "customlogo.h" +#include "customlogo2.h" #define TOWEL_FONT_PATH ":/NameCreater/_exp/W1.ttc" @@ -30,7 +31,7 @@ //#define FONT_CHT_URL "http://45.32.51.135/font/TaiwanPearl-SemiBold.ttf" NameCreater::NameCreater(QWidget *parent) - : QMainWindow(parent),custom2(NULL) + : QMainWindow(parent) { ui.setupUi(this); connect(ui.fivesingle_btn, &QPushButton::released, this, &NameCreater::OnClickedReadBtn); @@ -171,10 +172,11 @@ void NameCreater::OnClickedCustomLogoBtn() { } void NameCreater::OnClickedCustomLogo2Btn(){ - if (custom2 == NULL){ - custom2 = new customlogo2(&this->font); - } - custom2->show(); + QEventLoop loop; + customlogo2 widget(&this->font); + connect(&widget, &CustomLogo::finished, &loop, &QEventLoop::quit); + widget.show(); + loop.exec(); } void NameCreater::onFontDownloadFinished(QNetworkReply *reply){ diff --git a/NameCreater/NameCreater.h b/NameCreater/NameCreater.h index 5d43239..62487f6 100644 --- a/NameCreater/NameCreater.h +++ b/NameCreater/NameCreater.h @@ -7,7 +7,6 @@ #include #include -#include "customlogo2.h" class NameCreater : public QMainWindow { @@ -22,7 +21,7 @@ private: QColor font_color; - customlogo2 *custom2; + QNetworkAccessManager network_mgr; void loadFont(const QByteArray& fontdata); diff --git a/NameCreater/NameCreater.pro.user b/NameCreater/NameCreater.pro.user index 9f8ec1c..2a02054 100644 --- a/NameCreater/NameCreater.pro.user +++ b/NameCreater/NameCreater.pro.user @@ -1,14 +1,14 @@ - + EnvironmentId - {fcddcb90-0e4f-4f41-99d2-8ce9f168d92c} + {2e5b9b7d-86cb-4086-85fb-32be36077845} ProjectExplorer.Project.ActiveTarget - 0 + 2 ProjectExplorer.Project.EditorSettings @@ -41,7 +41,7 @@ false true false - 2 + 0 true true 0 @@ -74,12 +74,17 @@ 0 true + + -fno-delayed-template-parsing + + true + Builtin.BuildSystem true true Builtin.DefaultTidyAndClazy - 4 - true + 2 + false @@ -90,17 +95,17 @@ ProjectExplorer.Project.Target.0 - Desktop - Desktop Qt 5.15.2 clang 64bit - Desktop Qt 5.15.2 clang 64bit - qt.qt5.5152.clang_64_kit + WebAssemblyDeviceType + QwbAssembly Qt 5.15.2 + QwbAssembly Qt 5.15.2 + {7751e2ea-88c1-4df7-b6c4-78f8275796e2} 0 - 0 + -1 0 0 - /Users/shouchih/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_clang_64bit-Debug - /Users/shouchih/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_clang_64bit-Debug + C:\dev\namecreater\NameCreater\build\QwbAssembly_Qt_5_15_2-Debug + C:/dev/namecreater/NameCreater/build/QwbAssembly_Qt_5_15_2-Debug true @@ -138,8 +143,8 @@ 2 - /Users/shouchih/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_clang_64bit-Release - /Users/shouchih/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_clang_64bit-Release + C:\dev\namecreater\NameCreater\build\QwbAssembly_Qt_5_15_2-Release + C:/dev/namecreater/NameCreater/build/QwbAssembly_Qt_5_15_2-Release true @@ -179,8 +184,161 @@ 0 - /Users/shouchih/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_clang_64bit-Profile - /Users/shouchih/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_clang_64bit-Profile + C:\dev\namecreater\NameCreater\build\QwbAssembly_Qt_5_15_2-Profile + C:/dev/namecreater/NameCreater/build/QwbAssembly_Qt_5_15_2-Profile + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + 0 + + true + true + 0 + true + + + -e cpu-cycles --call-graph "dwarf,4096" -F 250 + NameCreater + WebAssembly.RunConfiguration.EmrunC:/dev/namecreater/NameCreater/NameCreater.pro + C:/dev/namecreater/NameCreater/NameCreater.pro + false + true + true + chrome + + 1 + + + + ProjectExplorer.Project.Target.1 + + Desktop + Desktop Qt 5.15.2 MSVC2019 64bit + Desktop Qt 5.15.2 MSVC2019 64bit + {c81acbfe-eec2-40c2-b148-0e5ee627adfb} + 0 + 0 + 0 + + 0 + C:\dev\namecreater\NameCreater\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Debug + C:/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_MSVC2019_64bit-Debug + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + C:\dev\namecreater\NameCreater\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release + C:/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_MSVC2019_64bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + + + 0 + C:\dev\namecreater\NameCreater\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Profile + C:/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_MSVC2019_64bit-Profile true @@ -238,37 +396,36 @@ true 0 true + 2 false - -e cpu-cycles --call-graph dwarf,4096 -F 250 + -e cpu-cycles --call-graph "dwarf,4096" -F 250 - Qt4ProjectManager.Qt4RunConfiguration:/Users/shouchih/dev/namecreater/NameCreater/NameCreater.pro - /Users/shouchih/dev/namecreater/NameCreater/NameCreater.pro + ProjectExplorer.CustomExecutableRunConfiguration + false true - true true - /Users/shouchih/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_clang_64bit-Debug/NameCreater.app/Contents/MacOS 1 - ProjectExplorer.Project.Target.1 + ProjectExplorer.Project.Target.2 - WebAssemblyDeviceType - Qt 5.15.2 WebAssembly - Qt 5.15.2 WebAssembly - qt.qt5.5152.wasm_32_kit + Desktop + Desktop Qt 6.7.2 MinGW 64-bit + Desktop Qt 6.7.2 MinGW 64-bit + qt.qt6.672.win64_mingw_kit 0 - -1 + 0 0 0 - /Users/shouchih/dev/namecreater/NameCreater/build/Qt_5_15_2_WebAssembly-Debug - /Users/shouchih/dev/namecreater/NameCreater/build/Qt_5_15_2_WebAssembly-Debug + C:\dev\namecreater\NameCreater\build\Desktop_Qt_6_7_2_MinGW_64_bit-Debug + C:/dev/namecreater/NameCreater/build/Desktop_Qt_6_7_2_MinGW_64_bit-Debug true @@ -306,8 +463,8 @@ 2 - /Users/shouchih/dev/namecreater/NameCreater/build/Qt_5_15_2_WebAssembly-Release - /Users/shouchih/dev/namecreater/NameCreater/build/Qt_5_15_2_WebAssembly-Release + C:\dev\namecreater\NameCreater\build\Desktop_Qt_6_7_2_MinGW_64_bit-Release + C:/dev/namecreater/NameCreater/build/Desktop_Qt_6_7_2_MinGW_64_bit-Release true @@ -347,8 +504,8 @@ 0 - /Users/shouchih/dev/namecreater/NameCreater/build/Qt_5_15_2_WebAssembly-Profile - /Users/shouchih/dev/namecreater/NameCreater/build/Qt_5_15_2_WebAssembly-Profile + C:\dev\namecreater\NameCreater\build\Desktop_Qt_6_7_2_MinGW_64_bit-Profile + C:/dev/namecreater/NameCreater/build/Desktop_Qt_6_7_2_MinGW_64_bit-Profile true @@ -388,28 +545,205 @@ 0 3 - 0 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 true true 0 true + - -e cpu-cycles --call-graph dwarf,4096 -F 250 - NameCreater - WebAssembly.RunConfiguration.Emrun/Users/shouchih/dev/namecreater/NameCreater/NameCreater.pro - /Users/shouchih/dev/namecreater/NameCreater/NameCreater.pro + 2 + + false + -e cpu-cycles --call-graph "dwarf,4096" -F 250 + + ProjectExplorer.CustomExecutableRunConfiguration + false true true - chrome 1 + + ProjectExplorer.Project.Target.3 + + Desktop + Desktop Qt 5.12.12 MinGW 64-bit + Desktop Qt 5.12.12 MinGW 64-bit + qt.qt5.51212.win64_mingw73_kit + 0 + 0 + 0 + + 0 + C:\dev\namecreater\build-NameCreater-Desktop_Qt_5_12_12_MinGW_64_bit-Debug + C:/dev/namecreater/build-NameCreater-Desktop_Qt_5_12_12_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + C:\dev\namecreater\build-NameCreater-Desktop_Qt_5_12_12_MinGW_64_bit-Release + C:/dev/namecreater/build-NameCreater-Desktop_Qt_5_12_12_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + + + 0 + C:\dev\namecreater\build-NameCreater-Desktop_Qt_5_12_12_MinGW_64_bit-Profile + C:/dev/namecreater/build-NameCreater-Desktop_Qt_5_12_12_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + true + true + true + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:C:/dev/namecreater/NameCreater/NameCreater.pro + C:/dev/namecreater/NameCreater/NameCreater.pro + false + true + true + false + true + C:/dev/namecreater/build-NameCreater-Desktop_Qt_5_12_12_MinGW_64_bit-Debug + + 1 + + ProjectExplorer.Project.TargetCount - 2 + 4 ProjectExplorer.Project.Updater.FileVersion diff --git a/NameCreater/NameCreater.vcxproj b/NameCreater/NameCreater.vcxproj index bfb8cd6..49de0e4 100644 --- a/NameCreater/NameCreater.vcxproj +++ b/NameCreater/NameCreater.vcxproj @@ -21,28 +21,28 @@ {B66B108B-6DA8-408D-936D-988FF8B6B722} QtVS_v304 - 10.0.16299.0 + 10.0 10.0 10.0.16299.0 - 10.0.19041.0 + 10.0 $(MSBuildProjectDirectory)\QtMsBuild Application - v140 + v143 Application - v142 + v143 Application - v140 + v143 Application - v142 + v143 @@ -50,12 +50,12 @@ 5.15.2_msvc2019_64 - core;gui;widgets + core;gui;widgets;network debug - 5.15.2_msvc2019_64 - core;gui;widgets;network + $(DefaultQtVersion) + core;gui;widgets;network;core5compat debug @@ -65,7 +65,7 @@ $(DefaultQtVersion) - core;gui;widgets;network + core;gui;widgets;network; release @@ -186,12 +186,14 @@ + + @@ -202,6 +204,7 @@ + diff --git a/NameCreater/NameCreater.vcxproj.filters b/NameCreater/NameCreater.vcxproj.filters index d574e34..d9dc486 100644 --- a/NameCreater/NameCreater.vcxproj.filters +++ b/NameCreater/NameCreater.vcxproj.filters @@ -67,6 +67,9 @@ Creaters + + Creaters + @@ -103,10 +106,16 @@ Form Files + + Form Files + Creaters + + Creaters + \ No newline at end of file diff --git a/NameCreater/customlogo.cpp b/NameCreater/customlogo.cpp index 60efdb7..4f97b25 100644 --- a/NameCreater/customlogo.cpp +++ b/NameCreater/customlogo.cpp @@ -108,8 +108,9 @@ void CustomLogo::gerneraImageFromList(const QList& nameList, Name_Ty scene.addItem(bg_item); } + QPixmap* _bg = new QPixmap(ui->display_label->pixmap().copy()); - QGraphicsPixmapItem* name_bgItem = new QGraphicsPixmapItem(*ui->display_label->pixmap()); + QGraphicsPixmapItem* name_bgItem = new QGraphicsPixmapItem(*_bg); bool rot = (idx == 10 || idx == 11); name_bgItem->setRotation(rot ? -90 : 0); name_bgItem->setPos(BG_POS[idx]); diff --git a/NameCreater/customlogo2.cpp b/NameCreater/customlogo2.cpp index 1d48796..874d9f3 100644 --- a/NameCreater/customlogo2.cpp +++ b/NameCreater/customlogo2.cpp @@ -24,8 +24,8 @@ static int BG_POS_COUNT = 12; -customlogo2::customlogo2(QFont *font, QWidget *parent) - : QWidget(parent) +customlogo2::customlogo2(QFont *font, QDialog*parent) + : QDialog(parent) , ui(new Ui::customlogo2) , zhFont(font) { diff --git a/NameCreater/customlogo2.h b/NameCreater/customlogo2.h index d0c39d0..c19460c 100644 --- a/NameCreater/customlogo2.h +++ b/NameCreater/customlogo2.h @@ -1,7 +1,7 @@ #ifndef CUSTOMLOGO2_H #define CUSTOMLOGO2_H -#include +#include #include "INameCreater.h" #include "QFont" @@ -9,12 +9,12 @@ namespace Ui { class customlogo2; } -class customlogo2 : public QWidget +class customlogo2 : public QDialog { Q_OBJECT public: - explicit customlogo2(QFont *font ,QWidget *parent = nullptr); + explicit customlogo2(QFont *font , QDialog*parent = nullptr); ~customlogo2(); private: From 16431955ded411167ab60f6b98a9bec937270783 Mon Sep 17 00:00:00 2001 From: shouchih_chen Date: Fri, 20 Sep 2024 12:47:26 +0800 Subject: [PATCH 2/3] Refactor code, Split QFileDialog in Webassembly and other desktop OS. --- NameCreater/INameCreater.cpp | 45 ++- NameCreater/INameCreater.h | 6 +- NameCreater/NameCreater.cpp | 81 +++-- NameCreater/NameCreater.h | 1 + NameCreater/NameCreater.pro | 3 +- NameCreater/NameCreater.pro.user | 578 +++++++++++++++++++++++++++++-- NameCreater/customlogo.cpp | 40 +-- NameCreater/customlogo.h | 3 +- NameCreater/customlogo2.cpp | 67 ++-- NameCreater/customlogo2.h | 2 +- NameCreater/def.h | 2 +- 11 files changed, 657 insertions(+), 171 deletions(-) diff --git a/NameCreater/INameCreater.cpp b/NameCreater/INameCreater.cpp index 35dea29..90a0b6c 100644 --- a/NameCreater/INameCreater.cpp +++ b/NameCreater/INameCreater.cpp @@ -23,33 +23,42 @@ INameCreater::~INameCreater() void INameCreater::saveToImage(const QString& filename, QGraphicsScene* scene) { - scene->clearSelection(); // Selections would also render to the file - scene->setSceneRect(scene->itemsBoundingRect()); // Re-shrink the scene to it's bounding contents - QImage image(scene->sceneRect().size().toSize(), QImage::Format_ARGB32); // Create the image with the exact size of the shrunk scene - image.fill(Qt::transparent); // Start all pixels transparent - int dpm = 300 / 0.0254; // ~300 DPI - image.setDotsPerMeterX(dpm); - image.setDotsPerMeterY(dpm); + scene->clearSelection(); // Selections would also render to the file + scene->setSceneRect(scene->itemsBoundingRect()); // Re-shrink the scene to it's bounding contents + QImage image(scene->sceneRect().size().toSize(), QImage::Format_ARGB32); // Create the image with the exact size of the shrunk scene + image.fill(Qt::transparent); // Start all pixels transparent + int dpm = 300 / 0.0254; // ~300 DPI + image.setDotsPerMeterX(dpm); + image.setDotsPerMeterY(dpm); + + + QPainter painter(&image); + scene->render(&painter); - QPainter painter(&image); - scene->render(&painter); #ifdef Q_OS_MAC - QString folder_name = QCoreApplication::applicationDirPath() + "/../../../export_" + QDateTime::currentDateTime().toString("yyyyMMdd"); + QString folder_name = QCoreApplication::applicationDirPath() + "/../../../export_" + QDateTime::currentDateTime().toString("yyyyMMdd"); + qDebug() << "app director path" < getNameByFile(Name_Type_e type, const QString& filename); QList getNameByFileContent(Name_Type_e type, const QByteArray& conetent); @@ -46,4 +46,4 @@ private: QFont eng_Font; -}; \ No newline at end of file +}; diff --git a/NameCreater/NameCreater.cpp b/NameCreater/NameCreater.cpp index 1d67310..eeae0d3 100644 --- a/NameCreater/NameCreater.cpp +++ b/NameCreater/NameCreater.cpp @@ -121,43 +121,58 @@ void NameCreater::loadFont(const QByteArray& fontdata){ void NameCreater::OnClickedReadBtn() { auto sender =(QPushButton*) QObject::sender(); - auto fileContentReady = [this, sender](const QString &fileName, const QByteArray &fileContent) { - if (fileName.isEmpty()) { - // No file was selected - } - else { - // Use fileName and fileContent - if(sender == ui.fivesingle_btn) FiveToSingle().generaImageFromCSV(Name_Type_e::Name_zh,fileName, fileContent, this->font, this->font_color); - - if(sender == ui.birthday_btn) BirthdayCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, this->font, this->font_color); - if(sender == ui.fivenew_btn) NewFiveCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, this->font, this->font_color); - if(sender == ui.towel_btn) TowelCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, this->font_towel, this->font_color); - if (sender == ui.birthday_zh_eng_btn) { - BirthdayCreater creater; - creater.setEnglishFont(font_english); - creater.generaImageFromCSV(Name_Type_e::Name_zh_eng, fileName, fileContent, this->font, this->font_color); - } - if (sender == ui.birthday_eng_eng_btn){ - BirthdayCreater b; - b.setEnglishFont(font_english); - b.generaImageFromCSV(Name_Type_e::Name_eng, fileName,fileContent,this->font, this->font_color); - } - if (sender == ui.handkerchief_btn) { - QFont newFont(font); - newFont.setPixelSize(78); - QColor newColor(0,0,0); - HKHolderCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, newFont, newColor); - } - if (sender == ui.fivesingle_zh_eng_btn) { - FiveToSingle f; - f.setEnglishFont(this->font_english); - f.generaImageFromCSV(Name_Type_e::Name_zh_eng, fileName, fileContent, this->font, this->font_color); - return; - } +#ifdef Q_OS_WASM + auto fileContentReady = [this, sender](const QString &fileName, const QByteArray &fileContent) { + if (!fileName.isEmpty()) { + this->execCreater(sender, fileName, fileContent); } + }; QFileDialog::getOpenFileContent("CSV (*.csv)", fileContentReady); + +#else + QString filename = QFileDialog::getOpenFileName(nullptr,"Open Name File", QDir::currentPath(),"CSV file(*.csv)"); + if(!filename.isEmpty()){ + QFile _f(filename); + if(_f.open(QIODevice::ReadOnly)){ + execCreater(sender, filename, _f.readAll()); + } + } +#endif +} + +void NameCreater::execCreater(QObject*sender, const QString&fileName, const QByteArray &fileContent){ + + // Use fileName and fileContent + if(sender == ui.fivesingle_btn) FiveToSingle().generaImageFromCSV(Name_Type_e::Name_zh,fileName, fileContent, this->font, this->font_color); + + if(sender == ui.birthday_btn) BirthdayCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, this->font, this->font_color); + if(sender == ui.fivenew_btn) NewFiveCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, this->font, this->font_color); + if(sender == ui.towel_btn) TowelCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, this->font_towel, this->font_color); + if (sender == ui.birthday_zh_eng_btn) { + BirthdayCreater creater; + creater.setEnglishFont(font_english); + creater.generaImageFromCSV(Name_Type_e::Name_zh_eng, fileName, fileContent, this->font, this->font_color); + } + if (sender == ui.birthday_eng_eng_btn){ + BirthdayCreater b; + b.setEnglishFont(font_english); + b.generaImageFromCSV(Name_Type_e::Name_eng, fileName,fileContent,this->font, this->font_color); + } + if (sender == ui.handkerchief_btn) { + QFont newFont(font); + newFont.setPixelSize(78); + QColor newColor(0,0,0); + HKHolderCreater().generaImageFromCSV(Name_Type_e::Name_zh, fileName, fileContent, newFont, newColor); + } + if (sender == ui.fivesingle_zh_eng_btn) { + FiveToSingle f; + f.setEnglishFont(this->font_english); + f.generaImageFromCSV(Name_Type_e::Name_zh_eng, fileName, fileContent, this->font, this->font_color); + return; + } + } void NameCreater::OnClickedCustomLogoBtn() { diff --git a/NameCreater/NameCreater.h b/NameCreater/NameCreater.h index 5d43239..3b421e4 100644 --- a/NameCreater/NameCreater.h +++ b/NameCreater/NameCreater.h @@ -26,6 +26,7 @@ private: QNetworkAccessManager network_mgr; void loadFont(const QByteArray& fontdata); + void execCreater(QObject*sender, const QString&fileName, const QByteArray &fileContent); private Q_SLOTS: void OnClickedReadBtn(); diff --git a/NameCreater/NameCreater.pro b/NameCreater/NameCreater.pro index f179bc1..a685edd 100644 --- a/NameCreater/NameCreater.pro +++ b/NameCreater/NameCreater.pro @@ -21,6 +21,7 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin wasm-emscripten{ QMAKE_LFLAGS+= -s TOTAL_MEMORY=67108864 + QMAKE_LFLAGS += -s ALLOW_MEMORY_GROWTH=1 } -#QMAKE_LFLAGS += -s ALLOW_MEMORY_GROWTH=1 + diff --git a/NameCreater/NameCreater.pro.user b/NameCreater/NameCreater.pro.user index 9f8ec1c..a5b7718 100644 --- a/NameCreater/NameCreater.pro.user +++ b/NameCreater/NameCreater.pro.user @@ -1,14 +1,14 @@ - + EnvironmentId - {fcddcb90-0e4f-4f41-99d2-8ce9f168d92c} + {4a5c8cc9-7483-402d-a0a2-3701e5257fd0} ProjectExplorer.Project.ActiveTarget - 0 + 2 ProjectExplorer.Project.EditorSettings @@ -41,7 +41,7 @@ false true false - 2 + 0 true true 0 @@ -74,12 +74,17 @@ 0 true + + -fno-delayed-template-parsing + + true + Builtin.BuildSystem true true Builtin.DefaultTidyAndClazy 4 - true + false @@ -91,16 +96,16 @@ ProjectExplorer.Project.Target.0 Desktop - Desktop Qt 5.15.2 clang 64bit - Desktop Qt 5.15.2 clang 64bit - qt.qt5.5152.clang_64_kit + Desktop Qt 6.7.1 MSVC2019 64bit + Desktop Qt 6.7.1 MSVC2019 64bit + qt.qt6.671.win64_msvc2019_64_kit 0 0 0 0 - /Users/shouchih/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_clang_64bit-Debug - /Users/shouchih/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_clang_64bit-Debug + D:\_develop\_project\NameCreater\NameCreater\build\Desktop_Qt_6_7_1_MSVC2019_64bit-Debug + D:/_develop/_project/NameCreater/NameCreater/build/Desktop_Qt_6_7_1_MSVC2019_64bit-Debug true @@ -138,8 +143,8 @@ 2 - /Users/shouchih/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_clang_64bit-Release - /Users/shouchih/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_clang_64bit-Release + D:\_develop\_project\NameCreater\NameCreater\build\Desktop_Qt_6_7_1_MSVC2019_64bit-Release + D:/_develop/_project/NameCreater/NameCreater/build/Desktop_Qt_6_7_1_MSVC2019_64bit-Release true @@ -179,8 +184,8 @@ 0 - /Users/shouchih/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_clang_64bit-Profile - /Users/shouchih/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_clang_64bit-Profile + D:\_develop\_project\NameCreater\NameCreater\build\Desktop_Qt_6_7_1_MSVC2019_64bit-Profile + D:/_develop/_project/NameCreater/NameCreater/build/Desktop_Qt_6_7_1_MSVC2019_64bit-Profile true @@ -238,19 +243,18 @@ true 0 true + 2 false - -e cpu-cycles --call-graph dwarf,4096 -F 250 + -e cpu-cycles --call-graph "dwarf,4096" -F 250 - Qt4ProjectManager.Qt4RunConfiguration:/Users/shouchih/dev/namecreater/NameCreater/NameCreater.pro - /Users/shouchih/dev/namecreater/NameCreater/NameCreater.pro + ProjectExplorer.CustomExecutableRunConfiguration + false true - true true - /Users/shouchih/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_clang_64bit-Debug/NameCreater.app/Contents/MacOS 1 @@ -258,17 +262,17 @@ ProjectExplorer.Project.Target.1 - WebAssemblyDeviceType - Qt 5.15.2 WebAssembly - Qt 5.15.2 WebAssembly - qt.qt5.5152.wasm_32_kit + Desktop + Desktop Qt 5.15.2 MSVC2019 64bit + Desktop Qt 5.15.2 MSVC2019 64bit + qt.qt5.5152.win64_msvc2019_64_kit 0 - -1 + 0 0 0 - /Users/shouchih/dev/namecreater/NameCreater/build/Qt_5_15_2_WebAssembly-Debug - /Users/shouchih/dev/namecreater/NameCreater/build/Qt_5_15_2_WebAssembly-Debug + D:\_develop\_project\NameCreater\NameCreater\build\NameCreater-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug + D:/_develop/_project/NameCreater/NameCreater/build/NameCreater-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug true @@ -306,8 +310,8 @@ 2 - /Users/shouchih/dev/namecreater/NameCreater/build/Qt_5_15_2_WebAssembly-Release - /Users/shouchih/dev/namecreater/NameCreater/build/Qt_5_15_2_WebAssembly-Release + D:\_develop\_project\NameCreater\build-NameCreater-Desktop_Qt_5_15_2_MSVC2019_64bit-Release + D:/_develop/_project/NameCreater/build-NameCreater-Desktop_Qt_5_15_2_MSVC2019_64bit-Release true @@ -347,8 +351,176 @@ 0 - /Users/shouchih/dev/namecreater/NameCreater/build/Qt_5_15_2_WebAssembly-Profile - /Users/shouchih/dev/namecreater/NameCreater/build/Qt_5_15_2_WebAssembly-Profile + D:\_develop\_project\NameCreater\build-NameCreater-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile + D:/_develop/_project/NameCreater/build-NameCreater-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + true + true + true + + + 2 + + false + -e cpu-cycles --call-graph "dwarf,4096" -F 250 + + Qt4ProjectManager.Qt4RunConfiguration:D:/_develop/_project/NameCreater/NameCreater/NameCreater.pro + D:/_develop/_project/NameCreater/NameCreater/NameCreater.pro + false + true + true + true + D:/_develop/_project/NameCreater/NameCreater/build/NameCreater-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.2 + + WebAssemblyDeviceType + Qt 5.15.2 WebAssembly + Qt 5.15.2 WebAssembly + qt.qt5.5152.wasm_32_kit + 0 + -1 + 0 + + 0 + D:\_develop\_project\NameCreater\NameCreater\build\NameCreater-Qt_5_15_2_WebAssembly-Debug + D:/_develop/_project/NameCreater/NameCreater/build/NameCreater-Qt_5_15_2_WebAssembly-Debug + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + D:\_develop\_project\NameCreater\build-NameCreater-Qt_5_15_2_WebAssembly-Release + D:/_develop/_project/NameCreater/build-NameCreater-Qt_5_15_2_WebAssembly-Release + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + + + 0 + D:\_develop\_project\NameCreater\build-NameCreater-Qt_5_15_2_WebAssembly-Profile + D:/_develop/_project/NameCreater/build-NameCreater-Qt_5_15_2_WebAssembly-Profile true @@ -392,13 +564,13 @@ true true - 0 true + - -e cpu-cycles --call-graph dwarf,4096 -F 250 + -e cpu-cycles --call-graph "dwarf,4096" -F 250 NameCreater - WebAssembly.RunConfiguration.Emrun/Users/shouchih/dev/namecreater/NameCreater/NameCreater.pro - /Users/shouchih/dev/namecreater/NameCreater/NameCreater.pro + WebAssembly.RunConfiguration.EmrunD:/_develop/_project/NameCreater/NameCreater/NameCreater.pro + D:/_develop/_project/NameCreater/NameCreater/NameCreater.pro false true true @@ -407,9 +579,345 @@ 1 + + ProjectExplorer.Project.Target.3 + + Desktop + Desktop Qt 5.15.2 MinGW 64-bit + Desktop Qt 5.15.2 MinGW 64-bit + qt.qt5.5152.win64_mingw81_kit + 0 + 0 + 0 + + 0 + D:\_develop\_project\NameCreater\NameCreater\build\Desktop_Qt_5_15_2_MinGW_64_bit-Debug + D:/_develop/_project/NameCreater/NameCreater/build/Desktop_Qt_5_15_2_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + D:\_develop\_project\NameCreater\NameCreater\build\Desktop_Qt_5_15_2_MinGW_64_bit-Release + D:/_develop/_project/NameCreater/NameCreater/build/Desktop_Qt_5_15_2_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + + + 0 + D:\_develop\_project\NameCreater\NameCreater\build\Desktop_Qt_5_15_2_MinGW_64_bit-Profile + D:/_develop/_project/NameCreater/NameCreater/build/Desktop_Qt_5_15_2_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + true + true + 0 + true + + + 2 + + false + -e cpu-cycles --call-graph "dwarf,4096" -F 250 + + Qt4ProjectManager.Qt4RunConfiguration:D:/_develop/_project/NameCreater/NameCreater/NameCreater.pro + D:/_develop/_project/NameCreater/NameCreater/NameCreater.pro + false + true + true + true + D:/_develop/_project/NameCreater/NameCreater/build/Desktop_Qt_5_15_2_MinGW_64_bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.4 + + Desktop + Desktop Qt 6.7.1 MinGW 64-bit + Desktop Qt 6.7.1 MinGW 64-bit + qt.qt6.671.win64_mingw_kit + 0 + 0 + 0 + + 0 + D:\_develop\_project\NameCreater\NameCreater\build\Desktop_Qt_6_7_1_MinGW_64_bit-Debug + D:/_develop/_project/NameCreater/NameCreater/build/Desktop_Qt_6_7_1_MinGW_64_bit-Debug + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + D:\_develop\_project\NameCreater\NameCreater\build\Desktop_Qt_6_7_1_MinGW_64_bit-Release + D:/_develop/_project/NameCreater/NameCreater/build/Desktop_Qt_6_7_1_MinGW_64_bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + + + 0 + D:\_develop\_project\NameCreater\NameCreater\build\Desktop_Qt_6_7_1_MinGW_64_bit-Profile + D:/_develop/_project/NameCreater/NameCreater/build/Desktop_Qt_6_7_1_MinGW_64_bit-Profile + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + true + true + 0 + true + + + 2 + + false + -e cpu-cycles --call-graph "dwarf,4096" -F 250 + + ProjectExplorer.CustomExecutableRunConfiguration + + false + true + true + + 1 + + ProjectExplorer.Project.TargetCount - 2 + 5 ProjectExplorer.Project.Updater.FileVersion diff --git a/NameCreater/customlogo.cpp b/NameCreater/customlogo.cpp index 60efdb7..e1e0d6d 100644 --- a/NameCreater/customlogo.cpp +++ b/NameCreater/customlogo.cpp @@ -2,6 +2,7 @@ #include "ui_customlogo.h" #include "QFileDialog" + #include #include #include @@ -55,10 +56,7 @@ void CustomLogo::loadBGFromFile() }else{ qDebug()<<"Data content not image format"; } - } - - }; QFileDialog::getOpenFileContent("Image (*.jpg)", fileContentReady); @@ -124,7 +122,6 @@ void CustomLogo::gerneraImageFromList(const QList& nameList, Name_Ty QString name = name_info.name1; int name_len = name.length(); for (int j = 0; j < 1; j++) { // never reverse - int pos_idx = idx * 2 + j; qreal xscale, yscale; xscale = yscale = (j == 1) ? -1 : 1; @@ -154,7 +151,8 @@ void CustomLogo::gerneraImageFromList(const QList& nameList, Name_Ty if (is_export_page || n == nameList.count() - 1) { QString date_str = QDateTime::currentDateTime().toString("MMddhhmm"); QString file_name = QString("Signal_%2_%1.jpg").arg(QString::number(export_times + 1), date_str); - saveToImage(file_name, &scene); + //saveToImage(file_name, &scene); + INameCreater().saveToImage(file_name, &scene); export_times++; scene.clear(); @@ -230,35 +228,3 @@ void CustomLogo::onClickedBtn() { } - -void CustomLogo::saveToImage(const QString& filename, QGraphicsScene* scene) -{ - scene->clearSelection(); // Selections would also render to the file - scene->setSceneRect(scene->itemsBoundingRect()); // Re-shrink the scene to it's bounding contents - QImage image(scene->sceneRect().size().toSize(), QImage::Format_ARGB32); // Create the image with the exact size of the shrunk scene - image.fill(Qt::transparent); // Start all pixels transparent - int dpm = 300 / 0.0254; // ~300 DPI - image.setDotsPerMeterX(dpm); - image.setDotsPerMeterY(dpm); - - - QPainter painter(&image); - scene->render(&painter); - -#ifdef Q_OS_MAC - QString folder_name = QCoreApplication::applicationDirPath() + "/../../../export_" + QDateTime::currentDateTime().toString("yyyyMMdd"); -#else - QString folder_name = QCoreApplication::applicationDirPath() + "/export_" + QDateTime::currentDateTime().toString("yyyyMMdd"); -#endif - - image.save(filename, "JPEG"); - - QByteArray imageData; - QBuffer buffer(&imageData); - buffer.open(QIODevice::WriteOnly); - QPixmap pixmap = QPixmap::fromImage(image); - pixmap.save(&buffer, "JPEG", 100); // You can also use other formats like "JPEG" or "BMP" - - QFileDialog::saveFileContent(imageData, filename); - -} diff --git a/NameCreater/customlogo.h b/NameCreater/customlogo.h index faddeb1..ccadc82 100644 --- a/NameCreater/customlogo.h +++ b/NameCreater/customlogo.h @@ -2,8 +2,8 @@ #define CUSTOMLOGO_H #include -#include "INameCreater.h" #include "QFont" +#include "INameCreater.h" namespace Ui { class CustomLogo; @@ -24,7 +24,6 @@ private: void loadBGFromFile(); void loadListFromFile(); void gerneraImageFromList(const QList& nameList, Name_Type_e type); - void saveToImage(const QString& filename, QGraphicsScene* scene); protected: QList getNameByFileContent(Name_Type_e type, const QByteArray& conetent); diff --git a/NameCreater/customlogo2.cpp b/NameCreater/customlogo2.cpp index 1d48796..886d1fd 100644 --- a/NameCreater/customlogo2.cpp +++ b/NameCreater/customlogo2.cpp @@ -25,7 +25,7 @@ static int BG_POS_COUNT = 12; customlogo2::customlogo2(QFont *font, QWidget *parent) - : QWidget(parent) + :QWidget(parent) , ui(new Ui::customlogo2) , zhFont(font) { @@ -73,6 +73,9 @@ void customlogo2::OnClickedBtn(){ void customlogo2::loadListFromFile() { + + +#ifdef Q_OS_WASM auto fileContentReady = [this](const QString& fileName, const QByteArray& fileContent) { if (fileName.isEmpty()) { // No file was selected @@ -80,8 +83,11 @@ void customlogo2::loadListFromFile() else { QList nameList = getNameByFileContent(Name_zh, fileContent); if (!nameList.isEmpty()) { - qDebug() << "List size: "<< QString::number(nameList.count()); - gerneraImageFromList(nameList, Name_zh); + QMetaObject::invokeMethod(this, [=]() { + qDebug() << "List size: "<< QString::number(nameList.count()); + gerneraImageFromList(nameList, Name_zh); + }, Qt::QueuedConnection); + } else { qDebug() << "List is empty!!"; @@ -91,7 +97,22 @@ void customlogo2::loadListFromFile() }; QFileDialog::getOpenFileContent("CSV file (*.csv)", fileContentReady); +#else + QString filename = QFileDialog::getOpenFileName(nullptr,"Open Name File", QDir::currentPath(),"CSV file(*.csv)"); + if(!filename.isEmpty()){ + QFile _f(filename); + if(_f.open(QIODevice::ReadOnly)){ + QList nameList = getNameByFileContent(Name_zh, _f.readAll()); + if (!nameList.isEmpty()) { + QMetaObject::invokeMethod(this, [=]() { + qDebug() << "List size: "<< QString::number(nameList.count()); + gerneraImageFromList(nameList, Name_zh); + }, Qt::QueuedConnection); + } + } + } +#endif } QList customlogo2::getNameByFileContent(Name_Type_e type, const QByteArray& conetent) @@ -170,7 +191,7 @@ void customlogo2::gerneraImageFromList(const QList& nameList, Name_T if (idx == 0) { - QGraphicsRectItem* bg_item = new QGraphicsRectItem(0, 0, BG_HEIGHT,BG_WIDTH); + QGraphicsRectItem* bg_item = new QGraphicsRectItem(0, 0, qreal(BG_HEIGHT),qreal(BG_WIDTH)); bg_item->setBrush(QBrush(QColor(255, 255, 255))); scene.addItem(bg_item); } @@ -215,9 +236,9 @@ void customlogo2::gerneraImageFromList(const QList& nameList, Name_T if (is_export_page || n == nameList.count() - 1) { QString date_str = QDateTime::currentDateTime().toString("MMddhhmm"); QString file_name = QString("Signal_%2_%1.jpg").arg(QString::number(export_times + 1), date_str); - saveToImage(file_name, &scene); + //saveToImage(file_name, &scene); + INameCreater().saveToImage(file_name,&scene); export_times++; - scene.clear(); } } @@ -234,38 +255,4 @@ void customlogo2::gerneraImageFromList(const QList& nameList, Name_T } -void customlogo2::saveToImage(const QString& filename, QGraphicsScene* scene) -{ - scene->clearSelection(); // Selections would also render to the file - scene->setSceneRect(scene->itemsBoundingRect()); // Re-shrink the scene to it's bounding contents - QImage image(scene->sceneRect().size().toSize(), QImage::Format_ARGB32); // Create the image with the exact size of the shrunk scene - image.fill(Qt::transparent); // Start all pixels transparent - int dpm = 300 / 0.0254; // ~300 DPI - image.setDotsPerMeterX(dpm); - image.setDotsPerMeterY(dpm); - - - QPainter painter(&image); - scene->render(&painter); - - - -#ifdef Q_OS_MAC - QString folder_name = QCoreApplication::applicationDirPath() + "/../../../export_" + QDateTime::currentDateTime().toString("yyyyMMdd"); - qDebug() << "app director path" <& nameList, Name_Type_e type); - void saveToImage(const QString& filename, QGraphicsScene* scene); + protected: QList getNameByFileContent(Name_Type_e type, const QByteArray& conetent); diff --git a/NameCreater/def.h b/NameCreater/def.h index bfa4290..4ba1a75 100644 --- a/NameCreater/def.h +++ b/NameCreater/def.h @@ -1,6 +1,6 @@ #ifndef DEF_H #define DEF_H -#define VERSION "v2.8.0" +#define VERSION "v2.8.1" #endif // DEF_H From e8b68cf0c4fcce2121bb74213995829bc828d182 Mon Sep 17 00:00:00 2001 From: shouchih_chen Date: Fri, 20 Sep 2024 13:25:29 +0800 Subject: [PATCH 3/3] Improve compatibility between Qt5 and Qt6 --- NameCreater/NameCreater.pro.user | 34 ++++++++++++++++++-------------- NameCreater/NameCreater.vcxproj | 4 ++-- NameCreater/customlogo.cpp | 10 ++++++++-- 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/NameCreater/NameCreater.pro.user b/NameCreater/NameCreater.pro.user index 2a02054..3192816 100644 --- a/NameCreater/NameCreater.pro.user +++ b/NameCreater/NameCreater.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -8,7 +8,7 @@ ProjectExplorer.Project.ActiveTarget - 2 + 1 ProjectExplorer.Project.EditorSettings @@ -403,11 +403,13 @@ false -e cpu-cycles --call-graph "dwarf,4096" -F 250 - ProjectExplorer.CustomExecutableRunConfiguration - + Qt4ProjectManager.Qt4RunConfiguration:C:/dev/namecreater/NameCreater/NameCreater.pro + C:/dev/namecreater/NameCreater/NameCreater.pro false true + true true + C:/dev/namecreater/NameCreater/build/Desktop_Qt_5_15_2_MSVC2019_64bit-Debug 1 @@ -416,16 +418,16 @@ ProjectExplorer.Project.Target.2 Desktop - Desktop Qt 6.7.2 MinGW 64-bit - Desktop Qt 6.7.2 MinGW 64-bit - qt.qt6.672.win64_mingw_kit + Desktop Qt 6.7.2 MSVC2019 64bit + Desktop Qt 6.7.2 MSVC2019 64bit + qt.qt6.672.win64_msvc2019_64_kit 0 0 0 0 - C:\dev\namecreater\NameCreater\build\Desktop_Qt_6_7_2_MinGW_64_bit-Debug - C:/dev/namecreater/NameCreater/build/Desktop_Qt_6_7_2_MinGW_64_bit-Debug + C:\dev\namecreater\NameCreater\build\Desktop_Qt_6_7_2_MSVC2019_64bit-Debug + C:/dev/namecreater/NameCreater/build/Desktop_Qt_6_7_2_MSVC2019_64bit-Debug true @@ -463,8 +465,8 @@ 2 - C:\dev\namecreater\NameCreater\build\Desktop_Qt_6_7_2_MinGW_64_bit-Release - C:/dev/namecreater/NameCreater/build/Desktop_Qt_6_7_2_MinGW_64_bit-Release + C:\dev\namecreater\NameCreater\build\Desktop_Qt_6_7_2_MSVC2019_64bit-Release + C:/dev/namecreater/NameCreater/build/Desktop_Qt_6_7_2_MSVC2019_64bit-Release true @@ -504,8 +506,8 @@ 0 - C:\dev\namecreater\NameCreater\build\Desktop_Qt_6_7_2_MinGW_64_bit-Profile - C:/dev/namecreater/NameCreater/build/Desktop_Qt_6_7_2_MinGW_64_bit-Profile + C:\dev\namecreater\NameCreater\build\Desktop_Qt_6_7_2_MSVC2019_64bit-Profile + C:/dev/namecreater/NameCreater/build/Desktop_Qt_6_7_2_MSVC2019_64bit-Profile true @@ -570,11 +572,13 @@ false -e cpu-cycles --call-graph "dwarf,4096" -F 250 - ProjectExplorer.CustomExecutableRunConfiguration - + Qt4ProjectManager.Qt4RunConfiguration:C:/dev/namecreater/NameCreater/NameCreater.pro + C:/dev/namecreater/NameCreater/NameCreater.pro false true + true true + C:/dev/namecreater/NameCreater/build/Desktop_Qt_6_7_2_MSVC2019_64bit-Debug 1 diff --git a/NameCreater/NameCreater.vcxproj b/NameCreater/NameCreater.vcxproj index 49de0e4..acd4265 100644 --- a/NameCreater/NameCreater.vcxproj +++ b/NameCreater/NameCreater.vcxproj @@ -55,7 +55,7 @@ $(DefaultQtVersion) - core;gui;widgets;network;core5compat + core;gui;widgets;network;core5compat debug @@ -65,7 +65,7 @@ $(DefaultQtVersion) - core;gui;widgets;network; + core;gui;widgets;network;core5compat release diff --git a/NameCreater/customlogo.cpp b/NameCreater/customlogo.cpp index c68d35b..9a3e825 100644 --- a/NameCreater/customlogo.cpp +++ b/NameCreater/customlogo.cpp @@ -106,9 +106,15 @@ void CustomLogo::gerneraImageFromList(const QList& nameList, Name_Ty scene.addItem(bg_item); } - QPixmap* _bg = new QPixmap(ui->display_label->pixmap().copy()); +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) + QPixmap _bg = ui->display_label->pixmap()->copy(); +#else + QPixmap _bg = ui->display_label->pixmap().copy(); +#endif // - QGraphicsPixmapItem* name_bgItem = new QGraphicsPixmapItem(*_bg); + + + QGraphicsPixmapItem* name_bgItem = new QGraphicsPixmapItem(_bg); bool rot = (idx == 10 || idx == 11); name_bgItem->setRotation(rot ? -90 : 0); name_bgItem->setPos(BG_POS[idx]);