Qt5和Qt4版本相容性
你曾經下載以前Qt4的範例,然而用Qt5卻編譯失敗 嗎?    Qt5將功能清楚地分割和簡化,然而造成新舊版本不相容問題, 例如Qt5無法成功編譯 Qt的Google Map . 還有,你也可能遇到所使用此開源程式碼只支持Qt4,例如開源地圖軟件QGIS.然而,工程師難免遇到程式碼更新或維護舊版的軟體,所以每次Release軟體時都手動修改程式碼後建置嗎?這樣操作不但無形中浪費時間,而且也限制你的程式擴展性.    下表,我整理出這兩個版本相關類別差異,我們主要根據Qt版本修正標頭和專案檔,而Qt的版本檢查主要有以下幾種:    專案檔,參數QT_MAJOR_VERSION檢查Qt主要版本號:   若Qt的版本大於4,需要引用那些模組:  greaterThan( QT_MAJOR_VERSION ,  4):     若Qt的版本小於5,需要引用那些模組:  lessThan( QT_MAJOR_VERSION ,5):    標頭,加入標頭QtGlobal利用巨集QT_VERSION得到Qt版本  #include  <QtGlobal>  #if  QT_VERSION  >=  0x050000  //版本大等於5需加入那些標頭  #else  //版本小於5需加入那些標頭  #endif       版本對照表          類別      描述      Qt4      Qt5         QApplication      管理 GUI 應用程式控制流向和主要設置      標頭 (Header )         #include <QtGui/QApplication>      #include  < QApplication>         專案檔 (.pro)         QT  +=  gui      QT  +=  widgets         QWebFrame      在網頁呈現 Frame      標頭 (Header )         #include  <QWebFrame>         專案檔 (.pro)         QT  +=  gui      QT  +=  webkitwidgets         QtMultimedia  ...