From 1580de368735071fbcd3ab8e012cae548ece1601 Mon Sep 17 00:00:00 2001 From: duanshengchao <519970194@qq.com> Date: Thu, 17 Jul 2025 15:10:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=B8=BA=E5=BA=94=E7=94=A8=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E6=B7=BB=E5=8A=A0=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 10 +++++++--- app_Logo.rc | 1 + logo.ico | Bin 0 -> 9662 bytes resource/PowerModeler.qrc | 1 + resource/images/appIcon.png | Bin 0 -> 1526 bytes source/main.cpp | 2 ++ ui/mainwindow.ui | 2 +- 7 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 app_Logo.rc create mode 100644 logo.ico create mode 100644 resource/images/appIcon.png diff --git a/CMakeLists.txt b/CMakeLists.txt index 05fbc35..0e7c50f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -92,13 +92,17 @@ set(UI_FILES ui/groupSelectionDialog.ui ) +set(APP_ICON "${CMAKE_CURRENT_SOURCE_DIR}/app_Logo.rc") +set(RESOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/resource/PowerModeler.qrc") + if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) qt_add_executable(PowerModeler MANUAL_FINALIZATION ${H_HEADER_FILES} ${CPP_SOURCE_FILES} ${UI_FILES} - resource/PowerModeler.qrc + ${APP_ICON} + ${RESOURCE_FILES} ) # Define target properties for Android with Qt 6 as: # set_property(TARGET PowerModeler APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR @@ -110,7 +114,7 @@ else() ${H_HEADER_FILES} ${CPP_SOURCE_FILES} ${UI_FILES} - resource/PowerModeler.qrc + ${RESOURCE_FILES} ) # Define properties for Android with Qt 5 after find_package() calls as: # set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android") @@ -119,7 +123,7 @@ else() ${H_HEADER_FILES} ${CPP_SOURCE_FILES} ${UI_FILES} - resource/PowerModeler.qrc + ${RESOURCE_FILES} ) endif() endif() diff --git a/app_Logo.rc b/app_Logo.rc new file mode 100644 index 0000000..e681731 --- /dev/null +++ b/app_Logo.rc @@ -0,0 +1 @@ +IDI_ICON1 ICON "logo.ico" \ No newline at end of file diff --git a/logo.ico b/logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..7e224064bfeab1db1c191f2ae0b4b93a43d98cd0 GIT binary patch literal 9662 zcmeHMNlY787#s?i2jt5|@ZyvQ9rAaonCag|D!%^LOV2c23~G zcmiFHQfO=Eq4jnym|C*IV9bO%!zIw_QlPy00^F=T1No&Vq03Q*d_~BYx51~A@D(6m zd*@BC+Va7CD+d})nV@SFb)83Dr%~4l$l;HIT4&kYtHHe~W9aRz0tW+zZf7|Y2DSF@ z9;gKt4DNwC0oOGo8SKL9P9-Ec5~khLuH;FER$v56cTZz=A=o{XY!2 zfd#|EW#m)9K>R@Tv0zYZ|Bi0Vs~wnEZF!h8vo~^Pwf-Vh)FeT%<}4JJB`C&ylBY@j zRcl|YdT3r{z`&Bb2nJTWYVmF4Bn1p2pZJ_dtAo_q7pop2cZKq*3AEL zCntArYwn7Uf$*_lkh6t#Q39#$NFCl{y@9dfD%R?0P*I!oXL02jXKv~7FO!p#UzgJ% zy|+DgMaCfVDPfT655LB`XpqE#&aM*LBbZvQL48vOX!R*jrcH#x@&xP+zIm3JcepTI zPVVs`oJjq0N?#m;seYz*Z3o! ziE>I*$d}3(BIW5w7^2ym@!y^uzhkDgI`u(!IS?OMw)h~4^q478<6)vqe;Zc zBKwD&1q%jtjoUf#*|ROpIfHX|+i9;chCLdw+k>-%j&L6|rq6AcmR}k18mKNM4Dwo( z?*;BO|R>#K#ACNwo_`pVekOK|ID{0D_wsQE!Ou&L+tJJ@{nwT(uI^u0C z^0;fC^z>BHc}uG`_iu|OrqN7?CexB!FLmzyOeS;o- zU}KSy^2|=R0SgAHob=jYNPWLbmoh|RctL4GFuUOEFQh!NxW12Zfdzw{ZL2-+n9-c| zyS_0Us&vU1bI(Cu>51Pm`D5?M$*FN~Ww8%fFhsKDbXLaW^J^zFPclDkHfI5uiE8S8 zpnY3z$+5mjazefl`aNOZnnrP#RiB5Viqk-9h;04{Q_lHm*@JzpG6v~Brp7IYM!ikH zlD@{-Q$c%BQd5%rM`}u;o;eLSioZQ6m8J7Vnlt4wNafVJ##pY!dNeqRvnq@uFfg!L zlaYEr%taM77l5z$?m3?2zHr<9{g^Y!oL2!uxQv>=9|Q(6?$33@49>nL?pQ)K&1Nho zv-5`LE3^hF$7iCj?39ng*d*>jm@g`05c$=n01&sjnE%Jx7U_EzXax; zG!K%PgtL|xE>~@GG<$*h9_lkC4AJD(UVr>>^w5JPS8xeq62?`Zf7rYwUP|q)1qOfx zgH$e-*N<1dTEvh}VpA;b?C9P(f&b$P;CqE1j#HxRcsTLMry@N_?4rJHbUw6RB+~r? zUs1e3IVq+0A;?MTLBfw#LiDLX>t6D7eYapgxJ#ffcRk%r)?dUC3h7Wjkl0)_oVuhO~x1H{DMo&W#< literal 0 HcmV?d00001 diff --git a/resource/PowerModeler.qrc b/resource/PowerModeler.qrc index fdf2764..46ae8c5 100644 --- a/resource/PowerModeler.qrc +++ b/resource/PowerModeler.qrc @@ -1,5 +1,6 @@ + images/appIcon.png images/icon_ellipsis.png images/icon_file.png images/icon_multiple-choice.png diff --git a/resource/images/appIcon.png b/resource/images/appIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..a9fbe117c531bc38fa1bd664770bf9a62176ade6 GIT binary patch literal 1526 zcmVjBzf z^E|Xz-hFuv2EJ*~kb41Rs7=habZPp=Z8qh;se;-sTC2&U~fMP*g zO>#a4zCzKHI{_n!ox0)Wb+E=4z&Je%s_JltFSB$uFUfOn@R328rJfUBkowTFf{TzoLyy{wyB} zLATcf?G78XmA;RGj@U+L}J4@)0HkJo&Ftive6H67p)VwKu0~ z{%Jwe^lQ>U;1i+St>oD(mRAyhfhWy~%3>I1XFt+JCfa48@Kcf33(OfZoBpaZ8sE!! zF$_GZ=VyiXBoZIE7FNEq%*}5bre;7j76EA>aM(LcM!2t2RcE{~2EJS-I+K78-aSVKE5C2R80&Ck`)^;p_VfrBZsm^`0`P~tVKg?)x z4194H?@R)GOPiPN^Go}t*%<3sne6+HW?!p>N(J#vd~QaIhZ1{0{5)}$*7zc`#l%?> ze?z)#kI%F!1em+lc~9bMY$nzA(yW-{oL-y>UPXb=tmz>f7WtFOe#-a_q_R)E(=Aa4Vo!N8L{z-ix7hDS%q zoaBY4k=z-y$vcCPIcs0i&CjlK>Un4Z7t_`e6|Ym71O~oFqd>tECwkhq=y3QAzSHqL*J_4Fqwepzer2>$-dkFwrr)Gq zH8Ak^lu{HtIf&`LM>}k-EoMXY1HJwtm5so_m-lv~;O|Pi^7EGSVqoCO@=;F7wH882B2^=?yQVz`)n2<>*d~fv-d~Jak~-$p_PAK3P&R z@MYO-co=w6=dqm_17DKOhKGSCO)6dHljAV(Hw4`53BbS?3ApG^jDf#KH|M`&pT~Ke c2lb!EKSNA58Uw-yrvLx|07*qoM6N<$f~5M!6#xJL literal 0 HcmV?d00001 diff --git a/source/main.cpp b/source/main.cpp index 96c734c..7f354b3 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -8,10 +8,12 @@ int main(int argc, char *argv[]) { qputenv("QT_WAYLAND_DISABLE_WINDOWDECORATION", "0"); // Wayland 下启用装饰 QApplication a(argc, argv); + //a.setWindowIcon(QIcon(":/img/images/appIcon.ico")); //a.setStyle(QStyleFactory::create("Fusion")); LOG_INFO("Application", "------------------------------------------------Application start------------------------------------------------"); MainWindow w; + w.setWindowIcon(QIcon(":/img/images/appIcon.ico")); w.show(); return a.exec(); diff --git a/ui/mainwindow.ui b/ui/mainwindow.ui index 780c1bc..1d346f4 100644 --- a/ui/mainwindow.ui +++ b/ui/mainwindow.ui @@ -15,7 +15,7 @@ - :/img/images/icon_database.png:/img/images/icon_database.png + :/img/images/appIcon.png:/img/images/appIcon.png QWidget