※ 引述《gn00618777 (非常念舊)》之銘言:
: 最近工作需要,需要移植Qt,現在也編譯成功了。開始對Qt有點好奇
: 我對 Qt的了解就是:
: Qt 是一個架構,它裡面包含了很多 library,例如 C++ 函式庫
: openGL庫等等,而只要硬體支援 openGL 介面的都可以透過Qt
: call openGL來達到硬體加。
這部分理解沒錯 但其實不只OpenGL
還有很多跟平臺和硬體相關的麻煩事 像不同平台某些型態大小不一樣等
: 而 wiki 上寫說:
: 1 Qt 程式不需要改,就可以丟到其它有Qt架構的平台上編譯,然後
: 就會依照不同平台,顯示不同的介面。
: 2 Qt 不只有 C++ 應用程式介面,還可以用 Ada、Java、c# 等等來編寫
: 我這樣就想問了...
: 1既然Qt可以用不同語言實現,那我用java寫,丟到其他有Qt的平台,就不
: 需要改嗎? 若是Qt用C++來寫,就得寫繼承那樣C++語法,如果
: 丟到用Java的Qt程式,那就得改阿?還是說利用Java寫的Qt,它底層有
這裡我看不太懂你要問啥 所以你直接看我下面的回答吧
: 某個方法將openGL和Java的function做些連結,然後我再A平台用Java
: 寫程式,然後丟到B平台一樣也是用Java實現的Qt,所以程式才不需要改?
: 2 若某個平台用Java實現的Qt,它的意義是啥?
Qt就如上面所說 讓程式設計師不用擔心底層系統或硬體的許多煩人細節
但我個人認為他最重要的事提供一個統一的設計GUI的方法
不用說你在windows要用.NET Framework裡面的工具 到Mac OSX 要用 Cocoa
也就是 API 你只要學一種
至於不同語言binding的部分 也就是你問java實現的意思
就要看那個語言了 像java就是用JNI 也就是從java那邊呼叫 Qt的library
然後提供一個長得跟原版Qt API 幾乎一模一樣的 java API
這部分如果有興趣你可以去查查 SWIG 一個用來生成不同語言呼叫介面的 project
: 用C++編寫的Qt,我大概猜得出它是用C++將openGL庫封裝起來,然後
: 我們來使用,那 Java or C# 這些呢?
: 謝謝指教!