From 4238d3e1fa232a9c652695e105de8bb6fc5b6d60 Mon Sep 17 00:00:00 2001 From: JackLee_CN <809262979@qq.com> Date: Mon, 21 Oct 2024 13:53:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=83=A8=E5=88=86=E5=9C=96?= =?UTF-8?q?=E6=A8=99=20=E5=88=AA=E9=99=A4=E4=B8=8D=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E5=87=BD=E6=95=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 3 +- CMakeLists.txt | 2 +- res/img/btn/btn_about.png | Bin 2901 -> 791 bytes res/img/btn/btn_setting.png | Bin 6279 -> 966 bytes res/img/btn/net_error.png | Bin 3894 -> 897 bytes res/img/btn/net_ok.png | Bin 3820 -> 886 bytes res/img/btn/net_wait.png | Bin 4015 -> 678 bytes res/qss/dark_style.qss | 2 +- res/qss/light_style.qss | 6 +- src/sui_title.cpp | 220 +++++++++++++++++------------------- src/sui_title.h | 4 +- src/xsteam_ui.cpp | 6 +- 12 files changed, 117 insertions(+), 126 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index b2a92bf..637ea0f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -110,7 +110,8 @@ "qheaderview": "cpp", "qabstractlistmodel": "cpp", "qtconcurrentrun": "cpp", - "*.in": "cpp" + "*.in": "cpp", + "qactiongroup": "cpp" }, "Codegeex.RepoIndex": true } \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index d568ab5..b775568 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,7 +44,7 @@ endif() #设置QT .cmake文件路径 #自编译QT静态库 -SET(QT_STATU "dynamic") +SET(QT_STATU "static") if(QT_STATU STREQUAL "dynamic") SET(QT_DIR "D:/Dev/Qt/6.8.0/mingw_64/lib/cmake") diff --git a/res/img/btn/btn_about.png b/res/img/btn/btn_about.png index 7298f533ba5f9e335f0a1f8eba1979a80a7e569d..7ddca35410e9552e6e088825a621c34c28fe6f7b 100644 GIT binary patch literal 791 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 literal 6279 zcmV;27w8QzEqG)1=(9cpn{kR0u{tmKsq4vTvo|mV|(Ax zO1q=AbdHX{AFVVqns@#r+aG?=TbDqWz+DM^*k#it&?RtR0v#Y-JGulONT36xt4EhW z2T0d}E`dA=bPtjzxBk?VNT37cNjAE(nJ0k`kUY8dr=COt9UxD#(Vfja33Pzu$*n*2 zBogQVd6JFpZ01Rz10+vw{i!FBKnKW^Y;AlTJpabN# zfKaBR^)IY{HY(R)eB}w0>j&%qvHrdFA(*B?^DFCLTA$K=i_C8)Jit$H6A5&H{9hOe z6kkt3;ZYV8?Yj-Z0{zeqC;&)K+nR?QnyWt30rIPOkJkUTK(VHqglG9?WuO2G=sy(F z7I^rRbzYykJv%@E#$QH&lvV_k>yOqir6-=uho|^^Az!UvD=Yvw{#lv+MD`o|;m;L#2tVbs0c0&;TyH$#3f8z(Bc#G})CBh} zT1)d$N*>kbc_x6Aj?=xH@?sAVt}Jb@Z34XC+TciZZ;@jym09-l&j664NvBi-o-OF{ z!KEMp9PkpMt&wAG&gY&1LX1w?^R&5?-zVT~zy2YECcFj!i`K|bsM=kk5mthpJp!ag zo3z|OlVcA3cU2_S4bc?OoYgc74j z-&%ibop55R%*@YPc&Oa9n2*ZP@IXURVv_OPHJ}^%;p1{+9p+8dyb?fBcq*~ZYIE!b zAShDFJmWknFA6r-SeM)&w*e4F9;8+mnt2O?k16M9UyEh77%M*qM=m8(^yNZ{#U9gyTU!W}ARN(eVy13s2`tZRDV3GiQX8QJ=|RsmAN!cJw6BB4-2 zhEk<@Q0#wgy`i>#iCh4WxFmeM7DEY|HW6)$0KvLq<*;^3TM1xHX#gZ^oo?Uay|f|% zlu~77!mip^Z!nq+L=$vU z;sz{Dw3Yx;O7Q>&adFK}0>A(nnrk1U?K}#^_z=-Ar z6-6dzRKU+%@cXec=@w%m0|dpPRI0RA!J+Wh>KOKpJyaSVWKagKJti_hJOajZoYxj! zU+TWkkV&Q}%EzGC)Yq4}!!11_0?To&?mJ&SAr>r~m;N07Pk6o+u?xh2Ccx zL>)RRkgfH*Y4lY_k2yxdLdEuI8C z`xw&DMGdh$f(=_DjHj=wQ{*|z3R#Ve3J_0ukX`SI`s%tryP)@~P{=)u3J|2PRzDcq z!>n0-U46hVqJYQ%+0BKw)m1abf}Z{BS4}eZ%wvI=zL$G5gk13vwY&=nA@dIii|j$5 z&m-i1qFzzkol|>qNQx}vA0f}Oq65U^rbE`zor<-W;hz~J>WAos4X;}8ASWYIy>ikM z^*Hc48Y${Wv4#z=S^$X0RS(8c*tc%R(cM)j@ffy{<=rHu=phz#s^#7{HufpMXmS;m z_buWnu!PpZ(8P^qi9UvZ8 z-2oB@DIS1?yrkGl4&wP-tkB6`9Nk@w5;ZgqU0jLmK@PT+)Y6rAqn&LW2Zg=Gk%0Pv z4Nx4`xJ3pCb##(FrM=jo{+T3?{PGO zUs*pD2E{$a!K+|6q7*II=OtgC2QSkQ^QZCmi@jD4H){d}#UO;BngIw(w>LIn53BhI)_TVFX8rIQ5E1lmY%R3=tZN zgEv8DTQ<+RNDiHN8VqJppp*v4Ya@`Dvt)dIEiBwBp;a_+z%#s`D)XPCJUoNks1j8V zOCAvD`52&FK8u!%O92Gs$f-big}~-==c=fc@Dg!j{L%il^sA8zkReU6b=c)O0G1fK zF$ix`2G&#{Kr%vF?o&u#66YlmC#jlL|tepCV=YcPw|BaV&) zjg?ZkR=MVRmg>5L3e7l#hzp-Kx#9|=24*-YDzI;MTJlLkE0RbZ>h7^ zVWg3tKedjxPJhcF|Gh`HER}y|ln{OJTB|KOonHbFHj69Gyq0b#N2029! zYm5er65u$Gpco4ChXr0*T95FCGk~5BRp<1@^Z)EnD;FSai2AulQ$~`~V>M~K(!aNk z@U=BL^4_6&jASN#X2bsgcDk{+yDiKTWp5f-i&;2 z364bTYx}`lPR)+lRRI+ohw)PHdATcEIRH_U^NSHqOdCN-mh6Ye3P<&r9!r~K6(MO? z_f5URGT4N!Fe?Wj>Zes~T{={S`)HiUTQZN^LX{v=oWo;jnG&$`nN=;cgAs{d&NVkr zUVx~CKxkIgV2;C;|L?gsL|7I1`aPoaf+RBFuT?=c+%CQJ0z?%sr9#51mYc_Wv;dB@ z7bp8c{lt8?#ochj)lk@VbHED_Rk(u*$`$KvDA;>TbIzkA<`@Hn-cqim#_Y)E#d-^c z7PSoT3jMtRQ7a-XS=3tqQN0JCAelV}1o$J8yruf=s~RiHMcp$O;JpA*El*1okXw7G z^63)xipruar7Bb_UIftpEHLgWVS53hCPJ<_Phe`zA*yw~7*Va4vDGlrrBrKf*40|S z2y46YDlb4lC<-*!T$O^k$yWZqYFS;e?8-c-%c;D&luBK^!Z;Q1vfj%BjhTaWrPhpP z1t6_9CE449_elGrDpd|nkwL6OqJwTUA*u(RYzs8djRqbC0>Qc);;7comB7F zarGqfd5@Y?$q|4DAWCeG@a4q|TaOacDdpXk`MW10Rk5O9JyFvDc@I4RQRBPlLVN@y zCI65Uyb_3AX%02ak`-$uy04c}L*&68lx})>0HV6#mJbQ%0CF+Gwp^iGY8+(6+6W*A zTUV*H%I7*BfGFVya%mMHig3Ai)%qpOd%CNXNM*&^2q3B_l=<)gL=hlzY4sFcanI2$ z=n}nDLg*GesB)Sv8#)g__H>|hOOcdBwdE4_9C%JPVD3Dmg%fq=)aqF5LfZ#4{2PGRNp;H)~v8=&Nv(LLzN#5#ADgXHD& zEKi7~#HcJDU5JlVQ>mf1dd~BRZ^byYVEj}am5sOuASyar28a?ywwhx-0*F$e;Q8qH z?3De354n)!0f;KZmctOm2%Js8Ex)Ds7En~hitas?Jjw-h4?t8m3<1%vBiys5Dv!|> z#hc+Mp=I<09iA0F7$@(a2OvzW9OE;t)$1lIk9!KU)W~2MLlZCf)*P>#qC=0Y_wvAz zOZB=*%L=6M*m4+ot*}bm=mm(1 z($9j5YQx@j3(to7DLd&R|8y&m}(vS zNQgDp;E}zI>^5_fQHOrji(Ezpn%kI2|5rn0XnwICJ)iV= zLzm(90>q;@t%q6a-7{q3ifcDUiW;j!CVNOiOXVkWQ;SEg3Kk6K0Az30=ibJ9+%|K# zV%v?hjgX4a3f`2~0`O19h!PIN?=bF@!uz{1IRNpvvsM)6p1_WyLa73c3=+UWB6|>- zx!AbqUl7Fpz>^AiSN@R;5U*ur9W2rJ)+ztC*3{}q;wvIZyx@QrLaTGY%|ibG`B&CY z4sc`@8*)4dGV_F4w`7cUqC+$t@C*Sr1Cl(2iNwN-{SYOwJsK?@D+>=>hgQfOP=7JL z0to(=dXB1O@staY9Hmj1!ovU-n2FT9VI{Pa5aQA=8!|#dPO(7^K_C@+w+OAE5iq~9 zj=ViIDG@f=3PWYFz z|BE7#r2v88oX{hOQLHfTAB(VMLmAa;8u#dghr#-H3&2t`W?!U4&dq>syar&d-N`X$okj~$TLI3t z0O3}Iww7Ti$t&UN+9l{UUrD0GSE{;T%UH@$*OHKlvLyx1H_5D4|y30b}5~6qw7q`dkV-276#} zOs+0E8RvQ1!1eUd%N}2>|1|!SzwvwW8W|+%kE{idIf@8TaKVSUfj9o|zM+}1M$RLI z6&%{-@RYOOE#<w5UC<;ZMQ7!Cn@R75hgUwGau_-VTkI?`EU4$r}H}&ug00AhG8+>`MXsi6Ba3h`4 zM^G-jhWb8n_=M)QPxEKx8xbH7jnyTNSKFE=!75FU#-Tj$_^I{dXcRp2CP19+Av^`f zAp$6-JnUi*qXGm$dk&R|S*d8X+zu0<03c4xc}>YFJkq8~YGi&r$vL@3l)HBC$uu%R zP>!D+8qh+RvJ#T*?V zo;a2SZ>TA(KDR6Z3KAsfN{d>ie@AoAA=xuumoQwqZv#LVtU})mTeO8mb!NwD2^|rkPRDh76f4n`p_bG@D5Kk-{I@yb? z1QlrW z88yW6BzL{c8y8}p4{ivVOGX6SZ^nkenNW> z1RvdlK;y}}`VlhsKoG%75klpD2g)^HC>B7$0Bq3!2K?X!4+{u*84cKiDe6Aj0zi-e z9{_MHAc`%lZ?dvE;l~`yTU3A82XCHni;pIXDy;wnB?BZRv`gD%v|4LeU+BgAm7x0` z-*^+MceV2^fI*&t=UCd<1J15OCgxM-S^)?&AFStmo!7n1tewc?F$h5b_ZsbG1b*qY zmgX7P^sEKwB64U6ATV6RA`_+%dSTT{w3;E+9DQdSfHx`8N&^F$kTKOo=xn031`veG z#_@p;$HEdWk;p?E@%gDRZJy~$fTUzWA<+(9fCG>;(^>>b5-uT(`mRIIhU5YTaCoj) zcxdvD%}szYIwcbDDZPYLl-dXD;d72_LAMMLc&TNvv2tls73HiE`YG!^8iO)&g#*hy z*Px$#sYC)kU5mAw^BPkIS_eqtg$<^{a+=cw=l`+90EIl|Ry)`q`Q}=@+0tYjWupIR zJ$7T9*ALMn&uj#fIfTT^R5j&^3Q8YF@DH6(yf-P07 zM<7IT33-;Tk$7M&JWB#csd>}<7yE&`aD=J5XnO-l+7v809t8!C+y)~KOZzA`uN6j? zluOfj#v?)O6(Ccf)JWu)Di;bxY<@3vyEXsO{-}PXz*73u=ivh$BHedWX_vC=->Xi|3)MvG9Q>DV;y4BmoTa43GCy z=MFdS89d0f&}%00k2V;^0vwO>4OKw^N2$AM>YBUFGr9-4ErB%?d8#_Z=_SB1<;L?B z5h@U_$2}!5k`SKJgIp^BK&h3;qg)9bxe7Y>Tuu53qe|XWo8u+i|2sf_-I5xKJR#Lu zhh?SdUz7H5pqLWW0rLL#EKTI`7$o9r0pnV^68+>^-XuQJPACXKdNT=hfZSIDlDOvhJ~h0m8&(S z!n3qSv%X7(M|OY|7HFStUlQm5+1Gw{ZVF4F1EjD(`*iz~KnKXa_Oo+SSOOg&g$3HD z+m{47K=!qtotwfE=m04!&_3P1B+vn}ul?-Y6qY~-NMV8Y>Gmao4v>BAXXmD{1Uf(p x3$#zSF9~#j>}x+eH-#n80a93?eY$-~;J@a-1r*Ky<2wKV002ovPDHLkV1fxkhpYeq diff --git a/res/img/btn/net_error.png b/res/img/btn/net_error.png index 45eb3508c9ed2151ec4c89b8dd5ff13689ede0a6..20e5d658b041d4460c2f38368b7babc4015bbf24 100644 GIT binary patch literal 897 zcmV-{1AhF8P)Nkl&Jmc4z+40-1Fr-~{6Pk{pGY8aRio)u z@9b-^EZNd%&2H~>b#--5Z?*Epf7LJcU%3fDuh$Ez)#^8Z9$~ex+BSeAu3X{udi}fG z?Lyzcya4q3eL7rV1)dud$TNT}%j^pQ1VPZcTrMxz{l@?Ek2n`c2<8R*Ff9?% zF?7?B0sz#Ee1sK8PEdDucabj;YR3q`rc0PW8jnatN3)OsFc=ITVMN*@(B9z&iV@x$ zmw^!BVxIt-8PcBjAk=ru>SVLotOP^?fQtSX@-?TC-H@zMlwlDFr)m-vfK*HYfE5*C z@B0)0E4+6dy%_m`C~~g!a3BlNLPxX^Gr-cp!v%#0ihjCkEdt@=ockfg3#5i68Z#UN z5TO7-B1alX76?99&8o2RD2=U=hB4pO3>bQVa9GsKT@cvgh{aA>+V$+a|FjNL0Caxb zG~{T)R9sohRf5h2fE4gS3o5_&Ej1gt0pL@jG=!fkuSkIjUTc6A5O}6Q4k$TxOG}i_ z*i!)Xpc|3~U^<|O2xI4@ogETauRdXqb=rntVCXXN#PR^TB}6!L^IueIK7GQ{Z+z%d zj~U2Ps3W>W?vjt(d_8p5*iS?Arw;$SaG)^2tF?wt+Zz7@N_!0#9qw=@t$Izng=Y}0}NVu z=YlKHqTh1Hz=mU8YBb9n$yB*;?-Xhu0Coo8;WnjnTxWU?$Ynqt=(&)>!Tq__cO@2Eu6uzn^Rk zmuA2+_Utppdwm&+N2?7+If4^T&5WAjA~XD6Sdkrmu#_EWr5Y#=^OFp2V&Ic}Cbszx XAFQZ9We*PC00000NkvXXu0mjfJtvx& literal 3894 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 M07*qoM6N<$g83+x`v3p{ literal 3820 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 literal 4015 zcmc(i=QrGKx5s~D)X_zYIv9yIL??`lUPdPfW<*K!-Xj<#Hwj@#kXsLfM2}vhMG!_0 zi5f9_v)(tL`H#x8aj+?8zq1n?bDMb&`h#(hq(+cfPY>tUuO7h%=w~M_71Vs3}y}W*y?)))~ z&VSgHP&T5u-+alW0OKo9rauc zxs#3_+hJ+O(s`zsyt0xv_;{fjts159ui>a_)3hwqL9e#q)<8`p#i(2P@rbi5nv6tR z8&+&c$giY|$`e7V*v<2WHrbPDOjR^EH!cr-LCWfb$cQ-L>+y|$P{_g9+!qvIk8ZGU zJC}D08`bmWsKuDIs30eqSxA`$vU9N#J#2+pMeY4O-PE3QuFo5y2f3Al zqEZz`lA&0-`F3}ziX)Ein;P!LWM$D7wxOwN%%NDn(ArJHYBjtBj4wGlD$2=hqQbg} zP$FftAUJX?XD|yO&C(R`4)~zw2ROmJ)|^0zY2U8s%cp)aCZV1ys?A8Efa=78nS>n0 zIcSl|EGC97=UgAoE=ZfrFZLTDg{y&1F6vXZAZE0<$F1d2{XK+gZ z%L>WNu?GfUyb(AFYr`p5UY$va9L+{iW zH2?m~x2#s;?Iw&+ti}#x<*Lx8Q_|4n0-~4GJ$#F(zvG{vNed|)QkWm(SzT(GO))cR zd!<7dkiKKIK^K(md&ISpxEoH7d@Q4Y^sn=RNiAfOuJGNiD9LaPniJFZGr=?s~f7$d#A zfxd_ZlXnk!4OL(Z{b$~~VHbazj=wcZMu+(eD;d-XkCd-3J&Ffud1$|R?Zay}1O8h6 zxLPRmjS2M*GbPiOEo?0z0nNy^(k8Tfi*Ir<72V18HG>#MFXP!3%cig0s>#W&%CDiwyI<#)5a3Xf#5bSieauig)11Q&Vr zC;Z46H1g9@x58=t@F#K|M}K6ypuPWj5ot8&~1g9dox$k>Stj&dEln&hWRJkVBmJU_d~v81x~SpQ>y z7=_e|$q@oH2)-l(X<)+qzP_?S{-&OVgrc!=pU(p}dfGZIg_7MR4`a=eGqQAHXAo8* zv8X}F@>rxJh*#!C;rb}|PVoDG3;`G8AZ=H>V3Q+1=UY|(;_qm+7FaN0>6}D*-zk_h zOj>%vZ-Vfac575nycf!h&v32brU*jMzxc6~$2 zfO&9z&m@cA@E$vEra0SELxW+=wMyH2jG`2UeAHT#7pvgq<%Qob(Q|f`=Uw}wX43}N z8bamE(fbSEJzR>+O8Kw{n9Z%xfChdLzI^XIUl2`~LtA4-!iO}^Xjlc_hQ#aKZjmR2 zg7s)qknRcM9;TOgY{Txt1sW()x;3*dyb*HXq*fyOP*42RL~S^d>GQ>Gp9XDuqS+ow zz?}bRd8$K}pj5iBIj=#1&S@l#lu=sqVWA`;^ zf)tGRQ@rx2h^pOgz43|I_{Xp@!E?P{vZ9u}q;5he4!`1UGT${YFkk|!t(Nt@vKjU@ ztaJaS1*s_k-H<@8<-8d4W<7lW0o?bTKp^Z54GlRiSzO{FREbyPw)InUt`9Xl&v#`* z5T=q~-K-R(s2tbQN#ahLDRz8%J7Rk?Qr#8I5EFKlbOY7(0Y#4M#iMZ)&bEjOGT7Za zeqwA;Iw)kOm}acHp--NK5*pI26BGc7Apyhj#r*d(rX*#-X~=7drxFjPB* zS8=pKnvO#uU)|Jx&~6QAQQ$1811|>)__B&@a7)5a!OQ=pur0j_lP4xXaUN>y#B}@sp@mA0HzL3`O(r_cBxzZd^sS*p=EW@_kG3Ti;0tF zjs-}7E9ko#(du{p<2_(ShhQ3hezCE5>UMihZd}M*ZJMOF6I*)M6!AO zfqY7W%W3s;LUH+-uVa9MEucravT#~4N4B33>hLDp?)qJC>7lL7?JVy-=@;SZK;p!K zjSAEqPRd#CM#k3yt z*E{L{^dlmIXK`2x>DYdHsLt+A$<sf>4@8ju8KDOCPgfx?)ouxO zwsSvOD5SsctGMSLq+|I$<*1J@WG(N z-?ScUCew;#SMDp}l+;JYV&*lioKFV8Fa@tavatbBw*HUB-$eoB_v7mx_GTc!+{{Z= e>_5@)m*V7)l_?Jfy?J$r1Nz#=TGbl&WB&(dyHlqC diff --git a/res/qss/dark_style.qss b/res/qss/dark_style.qss index eb61d8c..7dd859a 100644 --- a/res/qss/dark_style.qss +++ b/res/qss/dark_style.qss @@ -8,7 +8,7 @@ QPushButton#ico_button{ image:url(:/res/img/xsteam.png); border:none; } -QLabel#HEAD_STR,QLabel#SRC_SERVER,QLabel#GAME_UID,QLabel#VERSION_TIPS,QLabel#STATE_TIPS,QLabel#VERSION_TIPS_TXT{ +QLabel#HEAD_STR,QLabel#SRC_SERVER,QLabel#GAME_UID,QLabel#VERSION_TIPS,QLabel#STATE_TIPS,QLabel#VERSION_TIPS_TXT,QLabel#INFO{ color:#F2F2F2; } QPushButton#BTN_SETS{ diff --git a/res/qss/light_style.qss b/res/qss/light_style.qss index 72667b1..75511be 100644 --- a/res/qss/light_style.qss +++ b/res/qss/light_style.qss @@ -13,13 +13,13 @@ QPushButton#ico_button{ border:none; } -QLabel#HEAD_STR,QLabel#SRC_SERVER,QLabel#GAME_UID,QLabel#VERSION_TIPS,QLabel#STATE_TIPS,QLabel#VERSION_TIPS_TXT{ +QLabel#HEAD_STR,QLabel#SRC_SERVER,QLabel#GAME_UID,QLabel#VERSION_TIPS,QLabel#STATE_TIPS,QLabel#VERSION_TIPS_TXT,QLabel#INFO{ color:#404040; } QPushButton:hover{ -padding-left:1px; -padding-top:1px; + padding-left:1px; + padding-top:1px; } QPushButton#BTN_SETS{ diff --git a/src/sui_title.cpp b/src/sui_title.cpp index 673a99c..d8d7117 100644 --- a/src/sui_title.cpp +++ b/src/sui_title.cpp @@ -1,50 +1,50 @@ #include "sui_title.h" sui_title::sui_title(QWidget *parent) - : QWidget (parent), + : QWidget(parent), m_menu(nullptr), s_menu(nullptr), f_menu(nullptr) { - m_parent=parent; - //给成员变量申请内存 + m_parent = parent; + // 给成员变量申请内存 m_icon_button = new QPushButton(/*this*/); m_min_button = new QPushButton(this); m_max_button = new QPushButton(this); m_close_button = new QPushButton(this); - //初始化图标Label - m_icon_button->setFixedSize(35,35); + // 初始化图标Label + m_icon_button->setFixedSize(35, 35); m_icon_button->setAutoFillBackground(true); m_icon_button->setFlat(true); - - //设置按钮的固定大小、图片、取消边框 - m_min_button->setIconSize(QSize(25,25)); + + // 设置按钮的固定大小、图片、取消边框 + m_min_button->setIconSize(QSize(25, 25)); m_min_button->setAutoFillBackground(true); m_min_button->setFlat(true); //-- - m_max_button->setIconSize(QSize(25,25)); + m_max_button->setIconSize(QSize(25, 25)); m_max_button->setAutoFillBackground(true); m_max_button->setFlat(true); //-- - m_close_button->setIconSize(QSize(25,25)); + m_close_button->setIconSize(QSize(25, 25)); m_close_button->setAutoFillBackground(true); m_close_button->setFlat(true); - - //设置窗口部件的名称 + + // 设置窗口部件的名称 setObjectName(tr("sui_title")); m_icon_button->setObjectName(tr("ico_button")); m_min_button->setObjectName(tr("min_button")); m_max_button->setObjectName(tr("max_button")); m_close_button->setObjectName(tr("close_button")); - //给按钮设置静态tooltip,当鼠标移上去时显示tooltip + // 给按钮设置静态tooltip,当鼠标移上去时显示tooltip m_min_button->setToolTip(tr("最小化")); m_max_button->setToolTip(tr("最大化")); m_close_button->setToolTip(tr("关闭")); - //标题栏布局 - m_title_label=new QLabel(this); + // 标题栏布局 + m_title_label = new QLabel(this); m_title_label->setAlignment(Qt::AlignCenter); m_title_label->setObjectName(tr("HEAD_STR")); QFont font = m_title_label->font(); - font.setPointSize(28); + font.setPointSize(28); m_title_label->setFont(font); m_layout = new QHBoxLayout(this); m_layout->setAlignment(Qt::AlignCenter); @@ -58,9 +58,9 @@ sui_title::sui_title(QWidget *parent) m_layout->setSpacing(5); m_layout->setContentsMargins(0, 0, 0, 0); setFixedHeight(40); - setLayout(m_layout); + setLayout(m_layout); QFontDatabase database; - foreach(const QString & family, database.families(QFontDatabase::SimplifiedChinese)) + foreach (const QString &family, database.families(QFontDatabase::SimplifiedChinese)) { font_table.append(family); } @@ -73,8 +73,9 @@ sui_title::sui_title(QWidget *parent) sui_title::~sui_title() { } -void sui_title::connect_slots(){ - //连接三个按钮的信号槽3 +void sui_title::connect_slots() +{ + // 连接三个按钮的信号槽3 connect(m_icon_button, SIGNAL(clicked(bool)), this, SLOT(slots_ico_menu())); connect(m_min_button, SIGNAL(clicked(bool)), this, SLOT(on_clicked())); connect(m_max_button, SIGNAL(clicked(bool)), this, SLOT(on_clicked())); @@ -83,95 +84,118 @@ void sui_title::connect_slots(){ void sui_title::slots_ico_menu() { m_menu = new QMenu(); - //外观 - if(!s_menu){ - QActionGroup* s_QGroup = new QActionGroup(this); + // 外观 + if (!s_menu) + { + QActionGroup *s_QGroup = new QActionGroup(this); s_menu = new QMenu(tr("外观设置")); - for(int i=0;i<=style_table.count()-1;i++){ - QString sName=QFileInfo(style_table[i]).baseName(); - QAction* s_Action=new QAction(sName,s_QGroup); + for (int i = 0; i <= style_table.count() - 1; i++) + { + QString sName = QFileInfo(style_table[i]).baseName(); + QAction *s_Action = new QAction(sName, s_QGroup); s_Action->setObjectName(QString::number(i)); s_Action->setCheckable(true); - if(i==_data.x_config.style){ + if (i == _data.x_config.style) + { s_Action->setChecked(true); } - connect(s_Action,SIGNAL(triggered (bool)),this,SLOT(slots_set_style_change())); + connect(s_Action, SIGNAL(triggered(bool)), this, SLOT(slots_set_style_change())); s_menu->addAction(s_Action); } } - //字体 - if(!f_menu){ - QActionGroup* f_QGroup = new QActionGroup(this); + // 字体 + if (!f_menu) + { + QActionGroup *f_QGroup = new QActionGroup(this); f_menu = new QMenu(tr("字体设置")); - for(int i=0;i<=font_table.count()-1;i++){ - QAction* f_Action=new QAction(font_table[i],f_QGroup); + for (int i = 0; i <= font_table.count() - 1; i++) + { + QAction *f_Action = new QAction(font_table[i], f_QGroup); f_Action->setObjectName(QString::number(i)); f_Action->setCheckable(true); - if(i==_data.x_config.font){ + if (i == _data.x_config.font) + { f_Action->setChecked(true); } - connect(f_Action,SIGNAL(triggered (bool)),this,SLOT(slots_set_font_change())); + connect(f_Action, SIGNAL(triggered(bool)), this, SLOT(slots_set_font_change())); f_menu->addAction(f_Action); } QAction *separator = new QAction(nullptr); separator->setSeparator(true); f_menu->addAction(separator); - QActionGroup* b_QGroup = new QActionGroup(this); - QAction* b_Action=new QAction("字体加粗",b_QGroup); + QActionGroup *b_QGroup = new QActionGroup(this); + QAction *b_Action = new QAction("字体加粗", b_QGroup); b_Action->setObjectName("font_bold"); b_Action->setCheckable(true); - if(_data.x_config.font_bold){ + if (_data.x_config.font_bold) + { b_Action->setChecked(true); } - connect(b_Action,SIGNAL(triggered (bool)),this,SLOT(slots_set_font_change())); + connect(b_Action, SIGNAL(triggered(bool)), this, SLOT(slots_set_font_change())); f_menu->addAction(b_Action); } m_menu->addMenu(s_menu); m_menu->addMenu(f_menu); m_menu->exec(QCursor::pos()); delete m_menu; - m_menu=nullptr; + m_menu = nullptr; } void sui_title::slots_set_style_change() { - if(sender()!=nullptr){ - _data.x_config.style=sender()->objectName().toInt(); + if (sender() != nullptr) + { + _data.x_config.style = sender()->objectName().toInt(); } change_style(_data.x_config.style); } void sui_title::slots_set_font_change() { - if(sender()!=nullptr){ - if(sender()->objectName()=="font_bold"){ - if(_data.x_config.font_bold){ - _data.x_config.font_bold=0; - ((QAction*)sender())->setChecked(false); - }else{ - _data.x_config.font_bold=1; - ((QAction*)sender())->setChecked(true); - } - }else{ - _data.x_config.font=sender()->objectName().toInt(); - } - } + if (sender() != nullptr) + { + if (sender()->objectName() == "font_bold") + { + if (_data.x_config.font_bold) + { + _data.x_config.font_bold = 0; + ((QAction *)sender())->setChecked(false); + } + else + { + _data.x_config.font_bold = 1; + ((QAction *)sender())->setChecked(true); + } + } + else + { + _data.x_config.font = sender()->objectName().toInt(); + } + } QFont font; - if(!font_table[_data.x_config.font].isEmpty()){ + if (!font_table[_data.x_config.font].isEmpty()) + { font.setFamily(font_table[_data.x_config.font]); font.setPointSize(10); - if( _data.x_config.font_bold){ + if (_data.x_config.font_bold) + { font.setBold(true); - }else{ + } + else + { font.setBold(false); - } + } QApplication::setFont(font); - }else { - qDebug()<<"Failed to load font."; } - + else + { + qDebug() << "Failed to load font."; + } + change_style(_data.x_config.style); } -void sui_title::change_style(int index){ - QString style=tr(":/res/qss/")+style_table[index]; +void sui_title::change_style(int index) +{ + _data.x_config.style=index; + QString style = tr(":/res/qss/") + style_table[index]; QFile qss(style); if (qss.open(QFile::ReadOnly)) { @@ -183,61 +207,24 @@ void sui_title::change_style(int index){ m_parent->update(); } -//双击标题栏进行界面的最大化/还原 +// 双击标题栏进行界面的最大化/还原 void sui_title::mouseDoubleClickEvent(QMouseEvent *event) { - Q_UNUSED(event); //没有实质性的作用,只是用来允许event可以不使用,用来避免编译器警告 + Q_UNUSED(event); // 没有实质性的作用,只是用来允许event可以不使用,用来避免编译器警告 emit m_max_button->clicked(); } -//使用事件过滤器监听标题栏所在的窗体,所以当窗体标题、图标等信息发生改变时,标题栏也应该随之改变 -bool sui_title::eventFilter(QObject *obj, QEvent *event) -{ - qDebug()<type(); - switch ( event->type() ) //判断发生事件的类型 - { - case QEvent::WindowTitleChange: //窗口标题改变事件 - { - QWidget *pWidget = qobject_cast(obj); //获得发生事件的窗口对象 - if (pWidget) - { - //窗体标题改变,则标题栏标题也随之改变 - //m_pTitleLabel->setText(pWidget->windowTitle()); - return true; - } - } - break; - case QEvent::WindowIconChange: //窗口图标改变事件 - { - QWidget *pWidget = qobject_cast(obj); - if (pWidget) - { - //窗体图标改变,则标题栏图标也随之改变 - QIcon icon = pWidget->windowIcon(); - //m_pIconLabel->setPixmap(icon.pixmap(m_pIconLabel->size())); - return true; - } - } - break; - case QEvent::Resize: - up_maximize(); //最大化/还原 - return true; - default: - return QWidget::eventFilter(obj, event); - } - return QWidget::eventFilter(obj, event); -} -//进行最小化、最大化/还原、关闭操作 +// 进行最小化、最大化/还原、关闭操作 void sui_title::on_clicked() { - //QObject::Sender()返回发送信号的对象的指针,返回类型为QObject * + // QObject::Sender()返回发送信号的对象的指针,返回类型为QObject * QPushButton *pButton = qobject_cast(sender()); - QWidget *pWindow = this->window(); //获得标题栏所在的窗口 + QWidget *pWindow = this->window(); // 获得标题栏所在的窗口 if (pWindow->isWindow()) { - //判断发送信号的对象使哪个按钮 + // 判断发送信号的对象使哪个按钮 if (pButton == m_min_button) { - pWindow->showMinimized(); //窗口最小化显示 + pWindow->showMinimized(); // 窗口最小化显示 } else if (pButton == m_max_button) { @@ -250,30 +237,31 @@ void sui_title::on_clicked() } } } -//最大化/还原 +// 最大化/还原 void sui_title::up_maximize() { - QWidget *pWindow = this->window(); //获得标题栏所在的窗口 + QWidget *pWindow = this->window(); // 获得标题栏所在的窗口 if (pWindow->isWindow()) { - bool bMaximize = pWindow->isFullScreen(); //判断窗口是不是最大化状态,是则返回true,否则返回false + bool bMaximize = pWindow->isFullScreen(); // 判断窗口是不是最大化状态,是则返回true,否则返回false if (bMaximize) { - //目前窗口是最大化状态,则最大化/还原的toolTip设置为"Restore" + // 目前窗口是最大化状态,则最大化/还原的toolTip设置为"Restore" m_max_button->setToolTip(tr("Restore")); - //设置按钮的属性名为"maximizeProperty" + // 设置按钮的属性名为"maximizeProperty" m_max_button->setProperty("maximizeProperty", tr("restore")); } else { - //目前窗口是还原状态,则最大化/还原的toolTip设置为"Maximize" + // 目前窗口是还原状态,则最大化/还原的toolTip设置为"Maximize" m_max_button->setToolTip(tr("Maximize")); - //设置按钮的属性名为"maximizeProperty" + // 设置按钮的属性名为"maximizeProperty" m_max_button->setProperty("maximizeProperty", tr("maximize")); } m_max_button->setStyle(QApplication::style()); } } -void sui_title::set_title_txt(QString str){ +void sui_title::set_title_txt(QString str) +{ m_title_label->setText(str); } \ No newline at end of file diff --git a/src/sui_title.h b/src/sui_title.h index a338e6d..876f60a 100644 --- a/src/sui_title.h +++ b/src/sui_title.h @@ -13,8 +13,10 @@ #include #include #include +#include #include #include +#include #include "xsteam_ex.h" class sui_title: public QWidget { @@ -26,8 +28,6 @@ public: protected: //双击标题栏进行界面的最大化/还原 void mouseDoubleClickEvent(QMouseEvent *event); - //设置界面标题与图标 - bool eventFilter(QObject *obj, QEvent *event); private slots: //进行最小化、最大化/还原、关闭操作 void on_clicked(); diff --git a/src/xsteam_ui.cpp b/src/xsteam_ui.cpp index d6d748b..3f26637 100644 --- a/src/xsteam_ui.cpp +++ b/src/xsteam_ui.cpp @@ -39,6 +39,7 @@ void xsteam_ui::xsteam_init_info_layout() { info_layout = new QHBoxLayout(); info_txt_tag = new QLabel(tr("本工具建议配合SteamTools和Steam++使用")); + info_txt_tag->setObjectName("INFO"); info_layout->addItem(sparcer_item); info_layout->addWidget(info_txt_tag); info_layout->addItem(sparcer_item); @@ -62,6 +63,7 @@ void xsteam_ui::xsteam_init_mind_layout() btn_run_steamdb->setObjectName("STEAM_DB"); btn_push_manifest = new QPushButton(tr("清单分享")); btn_push_manifest->setObjectName("PUSH_MANIFEST"); + btn_push_manifest->setVisible(false); server_layout->addWidget(server_tag); server_layout->addWidget(server_txt); @@ -210,7 +212,7 @@ void xsteam_ui::slots_change_src_state(int index) QPixmap xs_pixmap; std::string url; xs_pixmap.load(":res/img/btn/net_wait.png"); - xs_pixmap = xs_pixmap.scaled(25,25,Qt::KeepAspectRatio); + xs_pixmap = xs_pixmap.scaled(20,20,Qt::KeepAspectRatio,Qt::SmoothTransformation); server_state->setPixmap(xs_pixmap); for (auto &i : _data.s_data) { @@ -229,7 +231,7 @@ void xsteam_ui::slots_change_src_state(int index) }else{ _pixmap.load(":/res/img/btn/net_error.png"); } - _pixmap=_pixmap.scaled(25,25,Qt::KeepAspectRatio); + _pixmap=_pixmap.scaled(20,20,Qt::KeepAspectRatio,Qt::SmoothTransformation); server_state->setPixmap(_pixmap); delete xs_curl; xs_curl=nullptr;