Qt是一個功能非常完善的c++跨平台圖形庫,其實與其說圖形庫倒不如說它是一個與MFC類似的應用框架。Qt本身就是使用c++語言實現。
QT理論上是跨平台的,MFC只是windows下的架構。
QT是一個完全的C++程序開發框架,包含類庫和跨平台國際化開發工具。QT API和開發工具對所有支持平台都是一致的,從而可以進行獨立於平台的程序開發和配置。使得跨平台軟件編程直觀、簡易和方便。
QT是一種c++語言的方言。
因為它要使用自己的預處理器處理代碼后,才能用C++編譯器編譯代碼。
qt基於c++語言實現,c++本身只是為開發人員提供了一種編程手段,而Qt正是利用了它實現了一個半成品的應用框架。c++語言自身實現非常復雜,比如多態、繼承、虛函數等語言特性的實現就較為底層,只能由天才級的it人士完成。而Qt相對c++而言屬於高層次的應用,普通的Qt開發人員做的應用程序相對Qt而言又高了一個層此。
qt里的類都是由c++寫的,你用qt編程的時候和c++不同點在於:很大一部分和信號與槽有關的c++代碼不用你自己來寫,是由qt sdk提供的一個程序自動生成的。
總之無論qt自動生成的代碼還是你寫的調用qt的代碼或者qt類庫底層的代碼都是c++。qt開源。
QT是一個高層的類庫,OpenGL是底層的庫。
如果相互調用的話,是QT調用OpenGL。
OpenGL只是負責畫出來一個圖像,可能會細節到設計出來具體哪一個像素怎么畫出來的,至於其他的事情完全不管。
QT則會做更多的事情,比如畫出一個完整的對話框,並且替你把對話框的一些點擊事件、關閉事件處理一下。而且QT畫東西的時候,它並不一定是自己直接畫,多半會通過調用OpenGL等庫來畫出來。
用木頭蓋房子來打比方的話,OpenGL負責幫你把樹種出來,保證木材是結實耐用的。而QT幫你把木材加工好,做成一個木門,保證木門能夠正確地安裝和使用。
你需要的就是把這個做好的木門安裝到你的房子上。
C++中的類,接口在QT中是可以使用的,和在C++中一樣
C++是一個語言,而Qt是一個圖形界面庫(GUI)
除去界面相關操作,實際的編程回歸c++中來。