Qt 5ã®ã¢ã«ãã¡çã®äž»ãªç®æšã¯ãéçºè ãããã£ãŒãããã¯ãåŸãããšã§ããããã¯ã以éã®ãã¹ãŠã®ãªãªãŒã¹ã®æ¹åã«åœ¹ç«ã¡ãŸãã Qt 5ã¢ã«ãã¡ãªãªãŒã¹ã§ã¯ãQt 5ã®ã³ã¢æ©èœã圢æããã³ã¢Qt Essentialsã¢ãžã¥ãŒã«ã®æäŸã«éç¹ã眮ãããŸããããããã¯ãã»ãšãã©ã®ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããã®ã«ååãªã¯ãã¹ãã©ãããã©ãŒã ã¢ãžã¥ãŒã«ã§ãã
Qt 5 Alphaã¯ãã€ããªããã±ãŒãžãšããŠé åžãããŸãããã ãœãŒã¹ãã¡ã€ã«ã¯ã»ã«ãã³ã³ãã€ã«ã«äœ¿çšã§ããŸãã ãã¡ããã ã³ã³ãã€ã«æé ãå©çšã§ããŸãã
Qt 5ã®éçºã¯çŽ9ãæåã«å§ãŸããæšå¹Ž5æã«Nokiaã®Qtéçºãã£ã¬ã¯ã¿ãŒLars Knollãããã€ãã®éèŠãªç®æšã説æããŸãã ã 以äžã¯ããããã®ç®æšãšæ¢ã«éæããããã®ã®ãªã¹ãã§ãã
åºæ¬ã³ã³ã»ãã
ã»ãŒ1幎åãã©ãŒã¹ã»ããŒã«ã¯æ¬¡ã®ããã«æžããŠããŸãã
ãQt 5ã¯ãæ°ããã¢ããªã±ãŒã·ã§ã³éçºãã¹ãå®è£ ããããã®åºç€ãšãªãã¯ãã§ãã C ++ã§Qtã¢ããªã±ãŒã·ã§ã³ãäœæããããã®ããŒã«ãä¿æããªãããäž»ã«Qt Quickã®ã¢ãžã¥ã©ãŒããã¯ãšã³ãã®æ©èœãäœæããããã®C ++ã®äœ¿çšã«éç¹ã移ãå¿ èŠããããŸãã
Qt 5.0ã§ãã®æŠå¿µã«ã¢ãããŒãããè¯ãæ¹æ³ãèŠã€ããŸããã ãã®ã¢ãã«ã¯ããã«ã¹ã¯ãªãŒã³ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããçµã¿èŸŒã¿ã·ã¹ãã ã§æé©ã«æ©èœããŸãã ãã®ã¢ãã«ããã¹ã¯ãããã«é©çšããããã«ãåºç€ã®å€§éšåã¯ãã§ã«æºåãããŠããŸãããQt 5.1ãŸãã¯5.2ããŒãžã§ã³ã§å®å šã«äœ¿çšã§ããŸãã
ãªãŒãã³ãœãŒã¹éçº
匷åãªã³ãã¥ããã£ã®æ¯æŽãåããŠãQt 5ã®ãªãŒãã³ãªéçºãäž»å°ãããã£ãã®ã§ãã Qtãããžã§ã¯ãã®ç«ã¡äžãåŸã掻æ°ã®ããã³ãã¥ããã£ã®åœ¢æãç®æããŸãããããã«ãããQt 5ã§å€ãã®æ¬ ç¹ãä¿®æ£ãããæ°ããæ©èœãç»å ŽããŸããã
äž»èŠãªã¢ãŒããã¯ãã£ã®å€æŽ
- ãã¹ãŠã®QtããŒãã移è¡ããŠãQt Platform Abstraction LayerïŒQPAïŒã䜿çšããŸãã ãã®å€æŽã«ãããQtãä»ã®ãŠã£ã³ããŠã·ã¹ãã ãããã€ã¹ã«ç°¡åã«ç§»æ€ã§ããŸãã
QPAã®ãããã§ãQtããŠã£ã³ããŠã·ã¹ãã ã«çµ±åããæ¹æ³ãæ ¹æ¬çã«å€æŽãããŸããã QPAã¯QWS / Qt Embeddedã®ä»£æ¿ãšããŠQt 4.8ã§å°å ¥ãããŸããããçŸåšã§ã¯ãã¹ãŠã®ãã©ãããã©ãŒã ã§äœ¿çšãããŸãã ãã®ãœãªã¥ãŒã·ã§ã³ã§ã¯ãããŸããŸãªãã©ãããã©ãŒã ã®ãµããŒããæäŸããã³ãŒãã®å€§éšåã倧éã«åŠçããå¿ èŠããããŸãããããã©ãããã©ãŒã ã«äŸåããæœè±¡çãªã³ãŒãã§ããã¯ãªãŒã³ãªã¢ãŒããã¯ãã£ãäœæããã®ã«åœ¹ç«ã¡ãŸããã ããã«ãããæ°ãããŠã£ã³ããŠã·ã¹ãã ãžã®è»¢éãå€§å¹ ã«ç°¡çŽ åãããQNXãAndroidãiOSçšã«ãã§ã«èšè¿°ãããããã¯ãšã³ãããã®èšŒæ ã§ãã
- ã°ã©ãã£ãã¯ã¹ã¹ã¿ãã¯ã®ã¢ãŒããã¯ãã£ã®å€æŽã Qt Quickããã³OpenGLïŒESïŒ2.0ã§çç£æ§ãåäž
Qt 5ã¯ãOpenGLäžã§å®è¡ãããQML Scenegraphã«åºã¥ããQt Quickã®æ°ããã°ã©ãã£ã«ã«ã¢ãŒããã¯ãã£ãå°å ¥ããŸãã æ°ããã¢ãŒããã¯ãã£ãæ©èœããã«ã¯ãã·ã¹ãã ãå°ãªããšãOpenGLïŒESïŒ2.0ããµããŒãããŠããå¿ èŠããããŸãã QtGuiã«ã¯ãQGL *ã¯ã©ã¹ã眮ãæããããã«ãªã£ãQOpenGL *ã¯ã©ã¹ã®ã»ãããå«ãŸããŠããŸãïŒãã ããäºææ§ã確ä¿ããããã«æ®ã£ãŠããŸãïŒã Qt 5ã§ã¯ãæ°ããQGuiApplicationã¯ã©ã¹ãå°å ¥ãããŠããŸããããã¯ãã«ãŒããŠã£ã³ããŠç»é¢ã§åŠçã¿ã¹ã¯ãå®è¡ããå ŽåãQApplicationã¯ã©ã¹ããã³QWindowã¯ã©ã¹ãããã¯ããã«è»œéã§ãã
Qt 5ã®ãããªãšãã§ã¯ã
QWidgetãµããŒãã¯ä¿æãããŸããããœãããŠã§ã¢ã©ã¹ã¿ã©ã€ãºããã¯ãšã³ããOpenGLããã¯ãšã³ããããã³ããã¯ãšã³ãã䜿çšããŠPDFãçæããã³å°å·ããæ©èœã«ãã£ãŠå¶éãããŸãã X11ãŸãã¯CoreGraphicsã䜿çšãããã©ãããã©ãŒã åºæã®ããã¯ãšã³ãã®ãµããŒãã¯å»æ¢ãããŸãããããã«ãããQt 5ã¯å®å šã«æ°ããã°ã©ãã£ãã¯ã¢ãŒããã¯ãã£ã«åãæ¿ããããšãã§ããQWidgetåŽã®Qt 4.xãšã®å®å šãªäºææ§ãç¶æãããŸãã
- æè»æ§ãé«ãããã¹ã¯ãããã·ã¹ãã ãšã¢ãã€ã«ã·ã¹ãã ãçµ±åããããã®ã¢ãžã¥ã©ãŒãªããžããªæ§é -å¿
èŠã«å¿ããŠã«ã¹ã¿ã ã¢ãžã¥ãŒã«ãè¿œå ããã³åé€ããQt Mobility APIãå®å
šã«çµ±åããæ©èœ
倧éšåã¯ãããã¯Qtéçºè ã«çŽæ¥åœ±é¿ããªãçµç¹äžã®ç¬éã§ãã ãã ããQtãã¢ãžã¥ãŒã«åœ¢åŒã«æžãããšããã¬ãŒã ã¯ãŒã¯ã®åã ã®ãµãã·ã¹ãã ãç¬ç«ããŠéçºã§ããŸãã
ã¢ãžã¥ãŒã«åããã»ã¹ã¯ãŸã å®äºããŠããŸãããããšãã°ãqtbaseãªããžããªã«ã¯ããŸã ããŒãã«åå²ãããŠããªãå€ãã®ã¢ãžã¥ãŒã«ãå«ãŸããŠããŸãã ãã®ãããã»ãšãã©ã®å Žåãã¢ãžã¥ãŒã«ãžã®äŸµå ¥äœæ¥ã¯Qt 5.0以éãç¶ç¶ãããŸãã ããã«ãQtã®ã¢ãžã¥ãŒã«åã«ãããQtãžã®ãµãŒãããŒãã£ã¢ãžã¥ãŒã«ã®æ¡çšãå€§å¹ ã«ç°¡çŽ åãããŸãã
Qt 5ã¯ããžãªãã±ãŒã·ã§ã³ãµããŒããããŸããŸãªã»ã³ãµãŒãªã©ãããŸããŸãªã¢ãã€ã«åºæã®èŠä»¶ãæºãããŠããŸãã ãããã£ãŠãQt 5ã«ã¯Qt Mobility APIãçµ±åãããŸãã ãããã®APIã®äžéšã¯ãQt Essentialsã³ã¢ã¢ãžã¥ãŒã«ã°ã«ãŒãã®äžéšã«ãªããŸãã ã¢ãžã¥ãŒã«åŒã®ã¢ãããŒããæäŸããããšã§ãä»ã®ã¢ãžã¥ãŒã«ãç°¡åã«è¿œå ã§ããQt 5ã®æ©èœã®ãªã¹ãã¯ä»ã®ã©ã®ããŒãžã§ã³ã®Qtãããè±å¯ã§ãããšç¢ºä¿¡ããŠããŸãã
- ãã¹ãŠã®QWidgeté¢é£æ©èœãåå¥ã®ã©ã€ãã©ãªãŒã«åé¢ãã
QWidgetsãå¥ã®ãªããžããªã«åé¢ããããšã§ããã®æ©èœãåŒãç¶ã䜿çšããã人ãæ°ã«ããQMLãšQt Quickã䜿çšããŠãã¹ãŠã®ã€ã³ã¿ãŒãã§ã€ã¹ãéçºãããã¢ãã«ã«ç§»è¡ããŸãã QWidgeté¢é£ã®é¢æ°ãç¬èªã®ã©ã€ãã©ãªã«åé¢ããããšã¯ãé·æçã«Qt 5ã®ã¢ãŒããã¯ãã£ã®æŽåæ§ãéæããããã®åªããæ段ã§ãã
æ°æ©èœ
Qt 5ã¯ãã¢ãŒããã¯ãã£ã®å€æŽã«å ããŠãå€ãã®æ°æ©èœãæäŸããŸãã ãããã®ãªã¹ãå šäœã¯ ãQt Projectã³ãã¥ããã£ã®ç¹å¥ããŒãžã«ãããŸããããã§ã¯ãäž»èŠãªãã®ã®ã¿ããªã¹ãããŸãã
Qtã³ã¢
- ãµããŒããããŠããåãã©ãããã©ãŒã äžã®ã¡ãã£ã¢ãã¡ã€ã«ãšããã¥ã¡ã³ãã®æšæºã®å Žæã決å®ããQStandardPathsã¯ã©ã¹ã®åºçŸã
- JSONããŒã¿ã®JSONããŒãµãŒãšæé©åããããã€ããªè¡šçŸãæå¹ã«ããŸãã
- ãã¡ã€ã«æ¡åŒµåãšãã®ã³ã³ãã³ãã®äž¡æ¹ã«ããMIMEã¿ã€ãã®å®çŸ©ã®ãµããŒããè¿œå ããŸãã
- ã³ã³ãã€ã«æ®µéã§ãã§ãã¯ããããä¿¡å·ãšã¹ããããæ¥ç¶ããããã®æ°ããæ§æãè¿œå ããŸãã PCREãå«ãŸããŸãã
- å€ãã®ããŒã¿æ§é ãç·šéããã³æé©åããŠãçç£æ§ãåäžãããŸãã
- C ++ 11ãµããŒãã®è¿œå ã
QtGui
ãã¹ãŠã®QtWidgeté¢é£æ©èœãåå¥ã®QtWidgetsã©ã€ãã©ãªã«æçš¿ããŸãã QtGuiã«ãã€ãã£ãOpenGLãµããŒããè¿œå ããQWindowã¯ã©ã¹ãä»ããŠã«ãŒããŠã£ã³ããŠãæäœããæ©èœã
Qtãããã¯ãŒã¯
DNSã¯ãšãªã®ãµããŒããè¿œå ããŸãã å¥ã®ã¢ãžã¥ãŒã«ã§åãåºãããQHttpã¯ã©ã¹ãšQFtpã¯ã©ã¹ãåé€ããŸãã å€æ°ã®å°ããªãšã©ãŒã®ä¿®æ£ã
QtãŠã£ãžã§ãã
Qt 4.xãšã®äºææ§ãç¶æããªãããæ°ããQPAã¢ãŒããã¯ãã£ã«ç§»æ€ããŸãã
Qtã¯ã€ãã¯
- Qt 4.xã®Qt QuickããŒãžã§ã³ããäžäœäºææ§ã®ããã«Qt Quick 1ã¢ãžã¥ãŒã«ãšããŠèšèšããŸãïŒãã®ã¢ãžã¥ãŒã«ã¯å°æ¥éçºãããŸããïŒã
- ã°ã©ãã£ãã¯ã¹ãæ åœããQt Quickã®QMLããã³JSããŒãããã®åé¢ãå¥ã®ã¢ãžã¥ãŒã«ã§ã JavaScriptã³ãŒãã®ããã©ãŒãã³ã¹åŠçãåäžãããV8ãšã³ãžã³ã䜿çšããæ°ããJSã¯ã©ã¹QJSEngineããã³QJSValueã®ç»å Žã
- ããã©ãŒãã³ã¹ãšèšèªã«é¢é£ããQMLãšã³ãžã³ã«ããã€ãã®æ¹åãè¿œå ããŸãã
- Qt Quickã¢ãžã¥ãŒã«ã«OpenGLããŒã¹ã®QML Scenegraphå®è£ ãå«ããŸãã
- ã·ã§ãŒããŒãšãã§ã¯ããããŒãã£ã¯ã«ãããã³ä»ã®å€ãã®ã°ã©ãã£ãã¯ãšãã§ã¯ãã®ãµããŒããè¿œå ããŸãã
Qt 3Dããã³Qtã®å Žæ
Qt Essentialsã®ããã€ãã®è¿œå ã¢ãžã¥ãŒã«ã®å€èŠ³ïŒãŸã第äžã«ã3次å ã³ã³ãã³ããå«ããããã®Qt 3DãšãGPSãå°å³ããã®ä»ã®äœçœ®æ å ±ãµãŒãã¹ã«ã¢ã¯ã»ã¹ããããã®Qt Locationã
Qt WebKit
WebKit C ++ APIã¯Qt 4.xãšæ¯èŒããŠå€æŽãããŠããŸããããQt WebKitã¯æ°ããããŒãžã§ã³ã®WebKitãšã³ãžã³ã䜿çšããHTML5ããã³CSS3ãã¯ãããžãŒã®ãµããŒããåäžããŠããŸãã
Qt 4.xããQt 5ãžã®ç§»æ€
çŸåšããã€ããªäºææ§ãšãããã»ã©ã§ã¯ãªããQt 4.xãšQt 5ã®éã®ãœãŒã¹ã³ãŒãã¬ãã«ã§ã®äºææ§ã«åé¡ããããŸããããã«ãããããããæ¢åã®ã³ãŒããQt 5ãã©ãããã©ãŒã ã«ç°¡åã«è»¢éã§ããããã«ãªããŸããããœãŒã¹ã³ãŒããå€æŽããã«Qt 4.xãšQt 5ã®äž¡æ¹ã§ãã«ãããã³å®è¡ã§ããQt CreatorããããŸãã
Qt 5ã§å®è¡ãããQt Creator© Qt Project
Qt 5çšã«ç¬èªã®ãããžã§ã¯ããã³ã³ãã€ã«ããŠã¿ããå Žåã¯ã ãã¡ãã§è©³çŽ°ãªæé ãã芧ãã ãã ã
ãŸããQt 4.8ã¯ã³ãã¥ããã£ãDigiaãªã©ã®äŒæ¥ã«ãã£ãŠãŸã ãµããŒããããŠãããããç¬èªã®ã¢ããªã±ãŒã·ã§ã³ãQt 5ã«ç§»æ€ããå¿ èŠã¯ãããŸããã ãã ããQt 5ã«ã¯é·æçã«ã¯ãããåãæ¿ããã®ã«ååãªå©ç¹ããããšèããããŸãã
次ã®ã¹ããã
Qt 5ã®éçºãå§ãŸã£ãŠä»¥æ¥ãå€ãã®ããšãè¡ãããŠããŸãããã¢ã«ãã¡çãããŠã³ããŒãã ãæ°ããæ©èœãè©ŠããŠãããªãã®æ°æã¡ãç¥ãããŠãã ããã
ãã¹ãŠã®ãã£ãŒãããã¯ã¯ã development @ qt-project.org ïŒ lists.qt-project.org ïŒãã¥ãŒã¹ã¬ã¿ãŒã«éä¿¡ããããåã«å®è¡ãã©ãã«ãŒã§ãã°ã¬ããŒããšããŠå ±åããå¿ èŠããããŸã ã ãã¹ãŠã®ããããšãã°ä¿®æ£ãæè¿ããŸã-codereview.qt-project.orgã«éä¿¡ããŠãã ãã ã
Qt 5 Alphaã¯Qt 5ã®æçµãªãªãŒã¹ã«åããæåã®ã¹ãããã§ãããäž»ãªåãçµã¿ã¯ã³ãŒãã®æé©åãšæ®ãã®åé¡ã®ä¿®æ£ãç®çãšããŠããŸãã Qt 5.0ã®éçºã¯ã§ããã ãæ©ãå®äºããããšããŸãã
æ¹ããŠãQt Projectã³ãã¥ããã£ã®ãã¹ãŠã®ã¡ã³ããŒã®æ¯æŽã«æè¬ããããšæããŸãã