Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
×ß½øQt¿ª·¢
 
  10393  次浏览      27
 2019-4-4
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚjianshu£¬±¾ÎÄÖ÷Òª½éÉÜÁËQt¾ßÓÐÄÄЩÓÅÊÆ£¬QtÌṩµÄÐźźͲۻúÖÆ£¬ÐźÅÓë²ÛµÄÁ¬½Ó·½Ê½¡¢ÓŵãµÈÏà¹ØÖªÊ¶¡£

Qt½éÉÜ

QtÊÇÒ»¸ö¿çƽ̨µÄC++ͼÐÎÓû§½çÃæÓ¦ÓóÌÐò¿ò¼Ü¡£ËüÔçÔÚ1991ÄêÆæÈ¤¿Æ¼¼¹«Ë¾Á½Î»ºÏ»ïÈË×ÅÊÖ¿ª·¢ÕâÑùÒ»¸öƽ̨£¬ÔÚ2008ÄêÈçÈÕÖÐÌìµÄŵ»ùÑÇÓÉÓÚ¿´ºÃQtÔÚǶÈëʽÁìÓòµÄDZÁ¦£¬Ò»ÖÀǧ½ð½«ËüÊÕ¹º×÷ΪÐÂÒ»´úÖÇÄÜÊÖ»ú²Ù×÷ϵͳµÄÔØÌ壬µ«ÊÇÒòΪŵ»ùÑÇÔÚÖÇÄÜÊÖ»úÁìÓòµÄ°Ü±±£¬²»µÃÒѶø·ÅÊÖQt£¬ÖÕÓÚQtÓÚ2012±»×îºóһλ¶«¼Ò Digia ¹«Ë¾ÊÕ¹º¡£¾­¹ýÕ⼸ÄêµÄ·¢Õ¹£¬Qt²»µ«ÓµÓÐÁËÍ걸µÄC++ͼÐο⣬¶øÇÒÒ²¼«´óµÄÌá¸ßÁËQt¿ª·¢¿çƽ̨ӦÓóÌÐòµÄÄÜÁ¦¡£

Qt¿ÉÒÔͬʱ֧³Ö×ÀÃæÓ¦ÓóÌÐò¿ª·¢¡¢Ç¶Èëʽ¿ª·¢ºÍÒÆ¶¯¿ª·¢£¬ÉõÖÁËü¿ÉÒÔ×öÒÆ¶¯¿ª·¢£¬¸²¸ÇÁËÏÖÓеÄËùÓÐÖ÷Á÷ƽ̨¡£ÄãÖ»ÐèÒª±àдһ´Î´úÂ룬·¢²¼µ½²»Í¬Æ½Ì¨Ç°ÖØÐ±àÒë¼´¿É¡£

ÄÄЩ²úÆ·¶¼ÊÇÓÃQt¿ª·¢µÄ£¿

Qtƾ½èÒ»Ì×¶ÔÔ­ÉúWindows¡¢Mac¡¢LinuxµÈƽ̨֧³ÖºÜºÃµÄ GUI ¿âºÍ·á¸»µÄ API ¿â£¬Ê¹µÃËü³ÉΪÁË¿ª·¢¿çƽ̨×ÀÃæÓ¦ÓõÄÒ»¸öºÜºÃµÄÑ¡Ôñ¡£ÓëÖйúһЩÓÅÐãµÄ×ÀÃæ¶ËÈí¼þÑ¡Ôñ×Ô¼º¿ª·¢¶àƽ̨µÄ GUI ¿â²»Í¬£¬¹úÍâµÄºÜ¶àÓÅÐã×ÀÃæÓ¦Óö¼Æ«ºÃ²ÉÓÃ¿çÆ½Ì¨µÄ GUI ¿â½øÐпª·¢¡£±ÈÈçÔÚ¹è¹ÈÓÐÒ»¿îºÜÖøÃûµÄÎĵµ¹ÜÀíÓ¦Óà DropBox£¬Î¢Èí×Ô¼ÒµÄÉç½»ÁÄÌ칤¾ß Skype£¬Ïñ¼«Æ··É³µÕâÑù´óÐ͵ÄÓÎÏ·µÄGUIÒ³Ãæ£¬ÉõÖÁ¹úÄڵĽðɽÈí¼þ¹«Ë¾ÍƳöµÄ°ì¹«Èí¼þ WPS Office£¬µ±È»»¹ÓÐÎÒÃǵÄAlphaBox¡£

ΪʲôAlphaBoxÑ¡ÔñQt£¿

ÒòΪQt²»½öÄܹ»¸ßЧÂʵÄÍê³É²»Í¬Æ½Ì¨GUIÄÚÈݵĿª·¢£¬¸üÄܹ»¸ßЧÂʵÄÍê³Éϵͳ¼¶±ðµÄһЩÈÎÎñ¡£ÕâÒ²ÊÇAlphaBoxÑ¡ÔñʹÓÃQt¿ª·¢µÄÔ­Òò¡£

AlphaBox Æäʵ°üº¬Á½¸öÖ÷ÒªµÄ½ø³Ì£¬Ò»¿éÊÇͬ²½Å̵ÄÒýÇæ¡ªCÓïÑÔ¹¹½¨µÄµ×²ãͬ²½½ø³Ì£¬ÎÒÃdzÆÖ®Îª daemon£»Ê£ÏµÄͼÐÎÒ³ÃæÒÔ¼°Óë²Ù×÷ϵͳ½»»¥µÄÄ£¿é¶¼ÊÇʹÓÃQt½øÐпª·¢µÄ¡£QtÌṩµÄ·á¸»µÄ¿çƽ̨GUI×é¼þÄܹ»±£Ö¤ÔÚ²»Í¬²Ù×÷ϵͳÖÐ AlphaBox ¶¼ÓÐ×ÅÃÀ¹ÛºÍÎǺϲÙ×÷ϵͳµÄÑùʽ£¬Qt×Ô¼ÒÉú²úµÄ IDE¡ªQt Creator ÌṩÁËÒ»Ì׷dz£ºÃÉÏÊÖµÄͼÐνçÃæ¹¹½¨¹¤¾ß£¬¼´Ê¹ÊǸսӴ¥QtµÄС°×Ò²¿ÉÒÔÇáËɵĻæÖƳöÏëÒªµÄÒ³Ãæ²¢ÇÒÄܹ»Íê³ÉºËÐÄÒ³ÃæÂß¼­¡£³ý´ËÖ®Í⣬µÃÒæÓÚ C++ µÄ¼Ó³Ö£¬QtÓë²Ù×÷ϵͳÓÐ×ŷdz£½¡×³µÄͨÐÅ»úÖÆ£¬Æ¾½èÕâÒ»µã£¬AlphaBox Äܹ»ÇáËÉÍê³É¾«×¼¼à¿Ø²Ù×÷ϵͳÖÐÎļþµÄ¸Ä¶¯¡¢½¨Á¢±¾µØÊý¾Ý¿â½øÐÐдÈëÊý¾ÝµÄµÈ²Ù×÷£¬²»½öÓÚ´Ë£¬ÓÅÐãµÄ»ìºÏ±à³ÌÄÜÁ¦Äܹ»ÈÃQtÇáËɵÄÓë Objective-C¡¢C# µÈÓïÑÔ½øÐлì±à£¬ÊµÏÖϵͳ¼¶±ðÀ©Õ¹µÄµ÷Óã¬Õâ¾ÍÊÇÎÒÃÇÄܹ»ÔÚ Finder ºÍWindows ×ÊÔ´¹ÜÀíÆ÷ÖÐÄܹ»¿´µ½Í¬²½ÅÌÎļþ²»Í¬×´Ì¬µÄÔ­ÒòÁË¡£

QtÓÅÊÆ

ÓÅÁ¼µÄ¿çÆ½Ì¨ÌØÐÔ

QtÖ§³Ö Windows¡¢Linux/Unix¡¢Mac OS X¡¢Android¡¢BlackBerry¡¢QNXµÈ¶àÖÖÆ½Ì¨£¬²¢ÎªÕâЩ²»Í¬µÄƽ̨ÌṩÁËͳһµÄ¿ª·¢»·¾³¡£

ÃæÏò¶ÔÏó

C++ÊÇÍêÈ«ÃæÏò¶ÔÏóµÄ£¬ÕâÒ»µãºÍObjective-cµÈÔÚ¿ª·¢ºÜÏàËÆ¡£¶øQtÓÖÊÇ»ùÓÚC++Ò»ÖÖÓïÑÔµÄÀ©Õ¹£¬´ó¼Ò¶¼ÖªµÀC++ ÓпìËÙ¡¢¼òÒס¢ÃæÏò¶ÔÏóµÈºÜ¶àÓŵ㣬ËùÒÔQt×ÔȻҲ¼Ì³ÐÕßC++ÕâЩµÄÓŵ㡣

QtÁ¼ºÃµÄ·â×°»úÖÆÊ¹µÃQtµÄÄ£¿é»¯³Ì¶È·Ç³£¸ß£¬¿ÉÖØÓÃÐԽϺ㬶ÔÓû§¿ª·¢À´»õÊǷdz£·½±ãµÄ¡£QtÌṩһÖÖΪsignals/slots(ÐźźͲÛ) µÄ°²È«ÀàÐÍÀ´Ìæ´úcallback£¬Ê¹µÃ¸÷¸öÔª¼þÖ®¼äµÄЭͬ¹¤×÷±äµÃÊ®·Ö¼òµ¥¡£

·á¸»µÄAPI

Qt°üÀ¨¶à´ï 250 ¸öÒÔÉ쵀 C++ À࣬»¹Ìṩ»ùÓÚÄ£°åµÄ collections£¬ serialization£¬ file£¬ I/Odevice£¬ directory management£¬ date/time Àà¡£ÉõÖÁ»¹°üÀ¨ÕýÔò±í´ïʽµÄ´¦Àí¹¦ÄÜ¡£

Ö§³Ö 2D/3D ͼÐÎäÖȾ£¬Ö§³Ö OpenGL¡£

´óÁ¿µÄ¿ª·¢Îĵµ¡£

XMLÖ§³Ö

Webkit ÒýÇæµÄ¼¯³É£¬¿ÉÒÔʵÏÖ±¾µØ½çÃæÓëWebÄÚÈݵÄÎ޷켯³É£¬

µ«ÊÇÕæÕýʹµÃ Qt ÔÚ×ÔÓÉÈí¼þ½çµÄÖÚ¶à Widgets (Èç Lesstif£¬Gtk£¬EZWGL£¬Xforms£¬fltk µÈµÈ)ÖÐÍÑÓ±¶ø³öµÄ»¹ÊÇ»ùÓÚ Qt µÄÖØÁ¿¼¶Èí¼þ KDE¡£

ÐźźͲۻúÖÆ

QtÌṩÁËÐźźͲۻúÖÆÓÃÓÚÍê³É¼ûÃæ²Ù×÷µÄÏìÓ¦£¬ÊÇÍê³ÉÈÎÒâÁ½¸öQt¶ÔÏó֮ͨÐÅ»úÖÆ¡£ÆäÖУ¬ÐźŻáÔÚij¸öÌØ¶¨Çé¿ö»ò¶¯×÷ϱ»´¥¶¯£¬²ÛÊǵÈͬÓÚ½ÓÊܲ¢´¦ÀíÐźŵĺ¯Êý¡£

Ϊʲô·½·¨²»ÊÇÖ±½Óµ÷Óõġ£ÖмäÓõ½ Signal ºÍ²Û»úÖÆ²»ÊǶà´ËÒ»¾Ù£¿

ÆäʵÔÚÎÒÃÇÉú»îÒ²ÊÇÒ»Ñù£¬Àϰ弶±ðµÄºÃ˵»°£¬ÀÏ°å¸øÖúÀí·ÖÅÉÈÎÎñÒ²ºÃ˵»°£¬µ«ÊÇÖúÀí¸øÀϰå·ÖÈÎÎñ£¬¿ÉÏë¶øÖª»áÓÐʲôºó¹û£¬ÔÚÒÔǰµÄͳÖνײã¿Ï¶¨²»ÔÊÐíÕâÑùµÄÊ·¢Éú¡£ËùÒÔÔÚ·Ö²ã˼ÏëÖУ¬ÎÒÃÇËùµ÷Óõĺ¯ÊýÒ²ÊÇÕâÑùµÄ£¬Éϲã¿ÉÒÔµ÷ÓÃϲãºÍͬһ²ãµÄº¯Êý£¬Ï²㺯Êý²»¿ÉÒÔµ÷ÓÃÉϲ㺯Êý£¬·ñÔò³ÌÐòµÄ²ã´ÎÐԻᱻ´òÆÆ£¬µ¼Ö½ṹ´í×Û¸´ÔÓ£¬ÄÑÒÔά»¤ºÍ¹ÜÀí¡£

ÄÇôÔõÑù²ÅÄÜ×öµ½ÏòÉϹÜÀíÄØ£¬ÓÐÈÎÎñ·ÖÅ䏸ÀϰåÔõô°ì£¿

Àϰå»áÉèÁ¢Ò»¸ö»ú¹¹£¬Ò²¾ÍÊÇÒ»¸öº¯Êý£¬ÓÃÎÞÏÞÑ­»·À´²éѯÖúÀíµÄ״̬£¬Èç¹ûÖúÀíÕæµÄÓÐÊÂÇ飬Õâ¸ö»ú¹¹¾Í°ÑÕâÏûÏ¢Äõ½ÀϰåÀ´´¦Àí¡£µ«ÊÇÕâÖÖ´¦Àí·½Ê½ÏÔµÃÓÐЩ¸´ÔÓ£¬ÎÒÃÇÏëÒªµÄ¼òµ¥Ã÷Á˵ķ½Ê½ÊÇ£¬Èç¹ûÖúÀíÓÐʼþ·¢Éú£¬¿ÉÒÔÖ±½Óµ÷ÓÃÀϰ庯Êý´¦Àí¡£

˵ÁËÕâô¶àÆäʵ¾ÍÊÇÏë˵£¬ÐźźͲ۵Ä×î´óÓÅÊÆÔÚÓÚ£¬ËüÍêÉÆÁ˳ÌÐò·Ö²ãµÄ˼Ï룬¿ÉÒÔÔÚ²»¸Ä±ä³ÌÐòµÄ²ã´ÎÐÔµÄÇé¿öÏ£¬Íê³ÉÓÉϲ㵽ÉϲãµÄµ÷Óá£ÔÚϲ㷢³öÒ»¸ö Signal£¬ÕâʱÉϲãÓëÆäÏë¹ØÁªµÄ Slot º¯Êý¾Í»áÏìÓ¦¡£

ÏÖÔÚ£¬ÐźźͲÛÖдæÔÚµÄÎÊÌâÊÇ£º

·¢ËÍÐźŵĶÔÏóÖ»¸ºÔð·¢ËÍ£¬µ«Ëü²¢²»ÖªµÀÓÉË­À´½ÓÊÕÐźţ»

½ÓÊÕ¶ÔÏóÖеIJ۱¾ÉíÖ»ÊÇÒ»¸öÆÕͨµÄ³ÉÔ±º¯Êý£¬Ëü²¢²»ÖªµÀÏìÓ¦ÄĸöÐźţ»

ÒªÏë½â¾öÒÔÉÏÎÊÌ⣬¾ÍÐèÒª½«ÏàÓ¦µÄÐźźͲÛÁ¬½ÓÆðÀ´¡£µ±Ö¸¶¨µÄÐźŷ¢³öʱ£¬²ÛËùÔڵĶÔÏó¾ÍÄܽÓÊÕµ½¸ÃÐźţ¬´Ó¶øµ÷ÓÃÏàÓ¦µÄ²Ûº¯ÊýÖ´ÐÐÖ¸¶¨µÄ´¦Àí¡£

ÐźÅÓë²ÛµÄÁ¬½Ó·½Ê½

1.Ò»¸öÐźſÉÒÔÓëÁíÒ»¸öÐźÅÏàÁ¬

connect (Object1,SIGNAL(signal1),Object2,SIGNAL(signal2));

±íʾ Object1µÄÐźÅ1·¢ËÍ¿ÉÒÔ´¥·¢Object2µÄÐźÅ1·¢ËÍ¡£

2.ͬһ¸öÐźſÉÒÔÓë¶à¸ö²ÛÏàÁ¬£º

connect (Object1,SIGNAL(signal2),Object2,SIGNAL(slot2));
connect (Object1,SIGNAL(signal2),Object3,SIGNAL(slot1));

3.ͬһ¸ö²Û¿ÉÒÔÏìÓ¦¶à¸öÐźţº

connect (Object1,SIGNAL(signal2),Object2,SIGNAL(slot2));
connect (Object3,SIGNAL(signal2),Object2,SIGNAL(slot2));

4.Á¬½Ó¿ÉÒÔ±»ÒƳý£º

ÕâÖÖÇé¿öÓõñȽÏÉÙ£¬ÒòΪÔÚ¶ÔÏó±»É¾³ýʱ£¬Qt»á×Ô¶¯ÒƳýÓëÕâ¸ö¶ÔÏóÏà¹ØµÄËùÓÐÁ¬½Ó¡£

disconnect(sender, SIGNAL(signal), receiver, SLOT(slot));

µ«ÊÇ£¬³£ÓõÄÁ¬½Ó·½Ê½Îª£º

connect (Object1,SIGNAL(signal),Object2,SIGNAL(slot));

ÆäÖУ¬signal Ϊ¶ÔÏóObject1µÄÐźţ¬slot ΪObject2µÄ²Û¡£

Ìáʾ£º

ÐźÅÓë²Û»úÖÆÓëÆÕͨº¯ÊýµÄµ÷ÓÃÒ»Ñù£¬Èç¹ûʹÓò»µ±µÄ»°£¬ÔÚ³ÌÐòÖ´ÐÐʱҲÓпÉÄܲúÉúËÀÑ­»·¡£Òò´Ë£¬ÔÚ¶¨Òå²Ûº¯Êýʱһ¶¨Òª×¢Òâ±ÜÃâ¼ä½ÓÐγÉÎÞÏÞÑ­»·£¬¼´ÔÚ²ÛÖÐÔٴη¢ÉäËù½ÓÊÕµ½µÄͬÑùÐźš£

Èç¹ûÒ»¸öÐźÅÓë¶à¸ö²ÛÏàÁªÏµµÄ»°£¬ÄÇô£¬µ±Õâ¸öÐźű»·¢Éäʱ£¬ÓëÖ®Ïà¹ØµÄ²Û±»¼¤»îµÄ˳Ðò½«ÊÇËæ»úµÄ¡£

ºê¶¨Òå²»ÄÜÓÃÔÚ signal ºÍ slot µÄ²ÎÊýÖС£

ÐźźͲ۵IJÎÊý¸öÊýÓëÀàÐͱØÐëÒ»Ö¡£

ÐźźͲۻúÖÆÓŵã

ÀàÐͰ²È«

ÐèÒª¹ØÁªµÄÐźźͲ۵ÄÇ©Ãû±ØÐëÊǵÈͬ¡£¼´ÐźŵIJÎÊýÀàÐͺͲÎÊý¸öÊý ͬ½ÓÊÕ¸ÃÐźŵIJ۵IJÎÊýÀàÐͺͲÎÊý¸öÊýÏàͬ¡£²»¹ýÒ»¸ö²ÛµÄ²ÎÊý¸öÊýÊÇ¿ÉÒÔÉÙÓÚÐźŵIJÎÊýµÄ¸öÊýµÄ£¬µ«ÊÇȱÉٵIJÎÊý±ØÐëÊÇÐźŲÎÊýµÄ×îºóÒ»¸ö»òÕß¼¸¸ö²ÎÊý¡£Èç¹ûÐźźͲ۵ÄÇ©Ãû²»·û£¬±àÒëÆ÷¾Í»á±¨´í¡£

ËÉÉ¢ñîºÏ

ÐźźͲۻúÖÆ´ó´ó½µµÍÁËQt¶ÔÏóµÄñîºÏ¶È¡£·¢ËÍÐźŵÄQt¶ÔÏó²»ÐèÒªÖªµÀÊÇÄĸö¶ÔÏóÀ´½ÓÊÕËüµÄÐźţ¬ËüÖ»ÐèÒª×öµÄÊÇÔÚÊʵ±µÄʱ¼ä·¢ËÍÒ»¸öÐźţ¬¶øÇÒ²»ÐèÒªÖªµÀÒ²²»¹ØÐÄËüµÄÐźÅÓÐûÓб»½ÓÊÕµ½£¬¸ü²»ÐèÒªÖªµÀÄĸö¶ÔÏóµÄÄĸö²Û½ÓÊÕµ½ÁËÐźš£

ͬÑùµØ£¬Qt¶ÔÏóµÄ²ÛÒ²²»ÐèÒª¹ØÏµÊÇÄÄЩÐźÅÁ¬½ÓÁË×Ô¼º£¬Èç¹ûÐźźͲÛÁ¬½ÓÉÏÁË£¬Qt¾ÍÄܱ£Ö¤ÁËÊʺϵIJ۵õ½Á˵÷Ó᣼´Ê¹¹ØÁªµÄ¶ÔÏóÔÚÔËÐÐʱ±»É¾³ý¡£Ó¦ÓóÌÐòÒ²²»»á±ÀÀ£¡£

ÐźźͲ۵ÄЧÂÊ

ÐźźͲۻúÖÆÔöÇ¿Á˶ÔÏó¼äͨÐŵÄÁé»îÐÔ£¬µ±È»ÔÚÔö¼ÓÁé»îÐÔµÄͬʱÔÚÐÔÄÜ·½ÃæÒ²»áÓÐÒ»¶¨µÄËðʧ¡£Í¬´ó¼Ò»Øµ÷º¯ÊýÏà±È£¬ÐźźͲۻúÖÆÔËÐÐËÙ¶ÈÓÐЩÂý¡£Í¨³££¬Í¨¹ý´«µÝÒ»¸öÐźÅÀ´µ÷Óòۺ¯Êý½«»á±ÈÖ±½Óµ÷ÓÃÖ±½Óµ÷Ó÷ÇÐ麯ÊýÔËÐÐËÙ¶ÈÂý10±¶¡£

Ô­Òò£º

ÐèÒª¶¨Î»½ÓÊÕÐźŵĶÔÏó¡£

°²È«µØ±éÀúËùÓеĹØÁª¡£

±à×é/½â×é´«µÝµÄ²ÎÊý¡£

¶àÏ̵߳Äʱºò¡£ÐźſÉÄÜÐèÒªÅŶӵȴý¡£

È»¶ø£¬Óë´´½¨¶Ñ¶ÔÏóµÄnew²Ù×÷¼°É¾³ý¶Ñ¶ÔÏóµÄdelete²Ù×÷Ïà±È£¬ÐźźͲ۵ÄÔËÐдú¼ÛÖ»ÊÇËüÃǺÜÉÙÒ»²¿·Ö¡£ÐźźͲۻúÖÆµ¼ÖµÄÕâµãÐÔÄÜËðºÄ£¬¶ÔʵʱӦÓóÌÐòÊÇ¿ÉÒÔºöÂԵģ»Í¬ÐźźͲÛÌṩµÄÁé»îÐԺͼò±ãÐÔÏà±È£¬ÕâµãÐÔÄÜËðºÄÊÇÖµµÃµÄ¡£

Qt ²¼¾Öϵͳ½éÉÜ

²¼¾Öϵͳ

×÷ΪһÃû iOS ¿ª·¢ÈËÔ±, ¼ûÖ¤×Å iOS ²¼¾ÖϵͳµÄ²»¶ÏÍêÉÆ, ´Ó¾ø¶Ô²¼¾Ö, Autoresizing µ½ Autolayout. ʹµÃ¿ª·¢ÈËÔ±µÄ¹¤×÷ЧÂÊÔ½À´Ô½¸ß, ÏîÄ¿½çÃæµÄ¿É¶ÁÐÔºÍÒ×ά»¤ÐÔÔ½À´Ô½Ç¿. Èç½ñ IDE ÖеĿÉÊÓ»¯½çÃæ¹¤¾ßÒѾ­·Ç³£Ç¿´ó, Ðí¶àÍøÓÑ"Ï·³Æ" iOS ¿ª·¢ÕßΪ"UI ÍÏקʦ", ¿É¼û, iOS ¿ª·¢ÖнçÃæ²¼¾ÖϵͳµÄ¸ßЧ. ËùÒÔ, ÓÅÐãµÄ²¼¾ÖϵͳµÄʹÃüÔÚÓÚÈÿª·¢Õß»¨¸üÉÙµÄʱ¼äÀ´Íê³É¸üÒ×ά»¤µÄ½çÃæ.

ͬÑùµÄ, ÔÚ Qt ÖÐ, ϵͳÌṩÁËÇ¿´óµÄÅŰæ»úÖÆÀ´Îª´°¿ÚÖеÄÊÓͼ½øÐв¼¾ÖÅŰæ, ¾­¹ýÁË¶Ô Qt ²¼¾ÖÒ»¸ö³õ²½µÄ̽Ë÷, ²»µÃ²»¶Ô Qt ²¼¾ÖϵͳµÄ¼ò½à¸ßЧ¶øÓÖ¹¦ÄÜÇ¿´ó±íʾÔÞ̾.

²¼¾ÖϵͳµÄ¹¦ÄÜ

ÔÚ Qt ÖÐ, ²¼¾Öϵͳ¿ÉÒÔÍê³É

¶¨Î»×ӿؼþ

µÃÖª´°ÌåĬÈÏ´óС

µÃÖª´°Ìå×îС´óС

´°Ìå´óС±ä»¯Ê±½øÐв¼¾ÖÅŰæ

ÄÚÈݸıä(×ÖÌå´óСÎı¾µÈ, Òþ²Ø»òÏÔʾ, ÒÆ³ý)ʱ½øÐв¼¾ÖÅŰæ

²¼¾ÖϵͳµÄ½á¹¹

Qt ÌṩÁË QLayout À༰Æä×ÓÀàÀ´Îª½çÃæ½øÐÐÅŰ沼¾Ö. ½á¹¹ÈçÏÂͼ:

²¼¾Öϵͳ½á¹¹Í¼

QLayout ÊDz¼¾ÖϵͳÖеijéÏó»ùÀà, ¼Ì³Ð×Ô QObject ºÍ QLayoutItem, ÆäÖÐËĸö×ÓÀà·Ö±ðΪ

QBoxLayout(Ïäʽ²¼¾Ö)

QFormLayout(±íµ¥²¼¾Ö)

QGridLayout(Íø¸ñ²¼¾Ö)

QStackedLayout(Õ»²¼¾Ö)

ÔÚÕæÊµÊ¹Óó¡¾°ÖÐ, ÍùÍùÐèҪͨ¹ý¶àÖÖ²¼¾ÖµÄÏà½áºÏÀ´Íê³É½çÃæµÄÉè¼Æ, ½ÓÏÂÀ´½«·Ö±ð½éÉÜËÄÖв¼¾Ö.

QBoxLayout Ïäʽ²¼¾Ö

Ïäʽ²¼¾ÖÌṩÁËÁ½¸ö×ÓÀà·Ö±ð´¦Àíˮƽ(QHBoxLayout)ºÍ´¹Ö±(QVBoxLayout)Á½¸ö·½ÏòµÄÅŰæ, ¿ÉÒÔʹÊÓͼÅųÉÒ»ÐлòÕßÒ»ÁÐÀ´ÏÔʾ. ¼òµ¥Ëµ, ¾ÍÊÇ¿ÉÒÔÈÿؼþ½øÐÐÅÅÅÅÕ¾, ±ÈÈçÔÚÎÒÃÇµÄ AlphaBox ÖÐ, ¶¥²¿µÄÍ·Ïñ, ÐÕÃû, ºÍˢа´Å¥ÅųÉÁËÒ»ÅÅ, Õâ¾ÍÊÇˮƽÏäʽ²¼¾Ö:

ʲô½ÐÅÅÅÅÕ¾

ÄãÒÔΪÎÒÒª½²Ò»ÏÂÕâ¸ö¶«Î÷ÈçºÎʵÏÖ? NO, ÎÒÆ«Æ«ÒªÒÔ´¹Ö±Ïäʽ²¼¾ÖΪÀý, ÓÃÒ»¸ö×î¼òµ¥µÄÀý×ÓÀ´½éÉÜÏäʽ²¼¾ÖµÄʹÓÃ, Ê×ÏÈ´´½¨Ò»¸ö»ùÓÚ QWidget µÄ½çÃæ, Ìí¼ÓÎÒÃÇÐèҪʹÓõÄÍ·Îļþ:

#include <QVBoxLayout>
#include <QPushButton>

²¢ÔÚ¹¹Ô캯ÊýÖÐÌí¼ÓÈçÏ´úÂë

// Ìí¼ÓÁ½¸ö°´Å¥
QPushButton *okBtn = new QPushButton;
okBtn ->setText(tr("ÎÒÔÚÉÏÃæ, ÎÒ×îÅ£"));
QPushButton *celBtn = new QPushButton;
celBtn->setText(tr("ÎÒÔÚÏÂÃæ, ÎÒ²»·þ"));

// ´´½¨Ò»¸ö´¹Ö±Ïäʽ²¼¾Ö, ½«Á½¸ö°´Å¥ÈÓ½øÈ¥
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(okBtn);
layout->addWidget(celBtn);

// ÉèÖýçÃæµÄ²¼¾ÖΪ´¹Ö±Ïäʽ²¼¾Ö
setLayout(layout);

ÔËÐп´Ò»ÏÂЧ¹û, ʲô? Õâ¾Í¿ÉÒÔÔËÐÐÁË? ×ø±êÄØ? ³ß´çÄØ? ÊǵÄ, û¿´´í...µã»÷ÔËÐÐ:

×î¼òµ¥µÄÏäʽ²¼¾Ö

Á½¸ö°´Å¥ÒѾ­Ò»ÉÏÒ»ÏÂ, ¹Ô¹ÔµÄÔÚ´¹Ö±·½Ïò×Ô¼ºÕ¾ºÃÁËλÖÃ, ¾ÍÊÇÕâôǿ´ó, ¾ÍÊÇÕâôʡÐÄ.

QFormLayout ±íµ¥²¼¾Ö

Ç¿´óµÄ AlphaBox ÊǺÜÍâÏòµÄ, ¿ÉÒÔºÜÇáËɵĽ«ÄãµÄ×ÊÁÏ·ÖÏí¸øÆäËûÓû§, µ±ÎÒÃÇ·ÖÏíµÄʱºò, »áÓÐÕâÑùÒ»¸ö½çÃæ:

ÔÚ AlphaBox Öй²Ïí×ÊÁÏ

¿´µ½Õâ¸ö½çÃæ, ´ÏÃ÷µÄÄã¿ÉÄÜ»á˵, ÕâºÜ¼òµ¥°¡, ºÃ¼¸¸öˮƽÏäʽ²¼¾Ö¾Í¿ÉÒÔʵÏÖ, ¿ÉÊÇ, ¸ü´ÏÃ÷µÄ Qt ÌṩÁ˸ü¸ßЧµÄ·½Ê½°ïÖúÄãÍê³ÉÕâÑùÒ»¸ö½çÃæ, ÄǾÍÊÇ QFormLayout.

ÔÚÎÒËùѧϰ Qt ËùʹÓõÄÊé¼®ÖÐ, ½« QFormLayout ·­ÒëΪ´°Ìå²¼¾Ö, ÎÒ¸öÈËÈÏΪ, ½«Æä·­ÒëΪ±íµ¥²¼¾Ö¸üΪÌùÇÐ, ÒòΪ QFormLayout µÄÇ¿´óÖ®´¦ÕýÊÇ¿ÉÒÔʹÓÃ×î¿ìµÄËÙ¶ÈÍê³ÉÒ»¸öÓû§ÊäÈëµÄ±íµ¥½çÃæµÄ´î½¨.

ÄÇô, ÈÃÎÒÃǽҿª AlphaBox µÄÉñÃØÃæÉ´, ¿´¿´ÕâÑùÒ»¸ö½çÃæÊÇÔõôʵÏÖµÄ.

Ê×ÏÈ, ÍÏ×§Ò»¸ö Form Layout µ½ Widget ÖÐ.

Ìí¼Ó±íµ¥²¼¾Ö

Ë«»÷Ö®ºó¼´¿ÉΪ±íµ¥Ôö¼ÓÒ»ÐÐ.

Ϊ±íµ¥Ôö¼ÓÒ»ÐÐ

ÏàÐÅ´ó¼Ò¿´µ½ÕâÕÅͼʱ, ¾ÍÒѾ­ÄÜÀí½âµ½±íµ¥²¼¾ÖÊÇÈçºÎʹÓõÄ, ÌṩÁ˱êÇ©×÷ΪÓû§ÊäÈëÄÚÈݵÄÖ¸Òý, Ìṩ×Ö¶ÎÀàÐÍ×÷ΪÓû§ÊäÈëµÄ¿Ø¼þ, ×÷Ϊ iOS ¿ª·¢Õß, ÉîÖªÕâÑùÒ»¸ö½çÃæµÄ´î½¨ËùÐèÒªµÄ·±ÔӵŤ×÷Á¿. µ±ÎÒµÚÒ»´Î´ò¿ªÕâ¸ö½çÃæÊ±, ±»ÕâÑù´´½¨½çÃæµÄ·½Ê½Ëù¾ª´ôÁË.

°´ÕÕͼÖÐ, ´´½¨±íµ¥µÄµÚÒ»ÐÐ, ¹²Ïí¸øÄĸöÓû§µÄÊäÈë¿ò, ¿ÉÒÔΪÊäÈë¿òÌîдռλÎÄ×Ö.

Ë«»÷ Form Layout ´´½¨×Ö¶ÎÀàÐÍΪ QComboBox (¶àÑ¡¿ò)µÄÒ»ÐÐ. ÌîдÔÊÐíµÄȨÏÞÄÚÈÝ.

ÉèÖÃÕû¸ö Widget ²¼¾ÖΪ´¹Ö±Ïäʽ²¼¾Ö

ÔÚ Form Layout ÏÂÍÏ×§¹ýÈ¥Ò»¸ö Horizontal Layout(ˮƽÏäʽ²¼¾Ö)

ÔÚÏäʽ²¼¾ÖÖÐÌí¼Ó Horizontal Spacer (ˮƽռλ) ºóÍÏ×§Á½¸ö Push Button Íê³É½çÃæ²¼¾Ö

¹²Ïí½çÃæµÄ²¼¾Ö

¿ì²»¿ì? ¿ì²»¿ì! ¿ì²»¿ì!!!

ͬÑùµÄ, Èç¹ûÊÇʹÓô¿´úÂë±íµ¥²¼¾ÖµÄ»°¿ÉÒÔʹÓÃaddRow()µÄ·½·¨À´Ìí¼ÓÒ»ÐÐ.

QGridLayout Íø¸ñ²¼¾Ö

Ç¿´óµÄ AlphaBox ÊÇÕâÑùµÄ

ÊÂʵÉÏ, Ç¿´óµÄ AlphaBox ÊÇÕâÑùµÄ, ÎÒÃÇ¿ÉÒÔ¹²Ïí¸ø¶à¸öÓû§, ¶øÇÒ, Ï·½»áÓÐÒ»¸öÁбí, չʾ¹²ÏíµÄÓû§ÒÔ¼°È¨ÏÞÁбí. Õâʱ, ±íµ¥²¼¾Ö¾Íû°ì·¨Âú×ãÎÒÃÇ, Ö»ºÃÁíÇóл¶ QGridLayout - Íø¸ñ²¼¾Ö.

Íø¸ñ²¼¾Ö¹ËÃû˼Òå, ¿ÉÒÔ½«½çÃæ·Ö¸î³ÉÐÐÁÐÀ´½øÐв¼¾Ö¹ÜÀí, ÔÚÿ¸öµ¥Ôª¸ñÖÐÀ´°Ú·Å¿Ø¼þ. ËùÒÔ AlphaBox ·ÖÏíµÄ½çÃæÊ¹ÓÃÁËÒ»¸ö Á½ÐÐÈýÁÐ µÄÍø¸ñ²¼¾ÖÀ´ÊµÏÖµÄ.

QGridLayout - Íø¸ñ²¼¾Ö

µ±È», ¸ü¸ü¸´ÔӵĽçÃæ, Óà Qt ²¼¾ÖµÄЧÂÊÒ²ÊǷdz£¸ßµÄ, ÎÒ×öÁËÒ»¸öÍâÁ´·ÖÏíµÄ²¼¾Ö Demo, ¿ÉÒÔ½«ÄÚ²¿×ÊÁÏÉú³ÉÒ»¸öÏÂÔØÁ´½Ó¹²Ïí¸øÈκÎÈËÈ¥ÏÂÔØ.

ÍâÁ´·ÖÏí½çÃæ

Õâ¸ö½çÃæÖÐ, ÎÒÔÚTabÖ®ÄÚʹÓÃÁËÍø¸ñ²¼¾Ö, ²¼¾ÖÈçͼ:

ÍâÁ´·ÖÏí½çÃæ²¼¾Ö

´ÓͼÖпÉÒÔ¿´³ö, Íø¸ñ²¼¾ÖÏñÊÇÔÚ²Ù×÷Ò»¸ö Excel Ò»Ñù¼òµ¥, ²¼¾Öµ¥Ôª¸ñ, ºÏ²¢µ¥Ôª¸ñ, µÈµÈ.

ÔÚÕâ¸ö½çÃæÖÐ, ¸üÁé»îµÄʹÓÃÁË QLayout µÄÊôÐÔÀ´Íê³ÉÁ˽çÃæ²¼¾ÖÅŰæ.

ͬÑùµÄ, ÔÚ´úÂëÖÐ, ¿ÉÒÔʹÓÃÈçÏÂµÈµÄ Api À´ÎªÍø¸ñÊÓͼÌí¼ÓÒ»¸ö´Ó¼¸Ðм¸ÁпªÊ¼Õ¼¾Ý¼¸Ðм¸ÁеĿؼþ:

void addWidget(QWidget *, int row, int column, int rowSpan, int columnSpan)

QStackedLayout Õ»²¼¾Ö

ÈçÔÚ AlphaBox ÖÐ, ÎÒÃÇ¿ÉÒÔͨ¹ýÔÆ¶ËÎļþä¯ÀÀÆ÷Ö±½Ó²é¿´ºÍ²Ù×÷ÔÆ¶ËÎļþ, ÔÚ¼ÓÔØµÄ¹ý³ÌÖÐ, »áÓÐÒ»¸öת¾Õ»¨µÄ½çÃæ.

ÔÚת¾Õ»¨µÄ AlphaBox

¼ÓÔØÊ§°ÜʱµÄ´íÎóÌáʾ:

¾Õ»¨×ªÊ§°ÜÁ赀 AlphaBox

ÒÔ¼°¼ÓÔØ³É¹¦Ê±:

ͨ³£Çé¿öÏÂÎÒÃÇÄÜ¿´¼ûµÄ AlphaBox

ͨ³£Ó¦ÓõĽçÃæ»á¸ù¾Ý²»Í¬µÄ״̬Óв»Í¬µÄÄÚÈÝ, Õâʱ¾Í¿ÉÒÔʹÓà QStackedLayout Õ»²¼¾Ö, Õ»²¼¾ÖÌṩÁËÒ»¸öÒ³ÃæµÄÕ», ÿ¸öÒ³ÃæÓÐÍêÈ«¶ÀÁ¢µÄ½çÃæ²¼¾Ö. ¿ÉÒԷdz£ÇåÎúµÄ¶Ô²»Í¬×´Ì¬ÏµĽçÃæ½øÐв¼¾Ö¹ÜÀí.

ÔÚ Qt µÄ¿ÉÊÓ»¯²¼¾Ö¹¤¾ßÖÐ, ͨ¹ý Stacked Widget À´Íê³É½çÃæµÄÕ»²¼¾Ö

Stacked Widget

ͨ¹ýÓÒ¼üÀ´½øÐÐÒ³ÃæµÄ²åÈëÒÆ³ýºÍÅÅÐòµÈ²Ù×÷.

   
10393 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì