作者mshockwave (夏克维夫)
看板LinuxDev
标题Re: [问题] Qt 移植至 arm
时间Wed Apr 20 10:51:54 2016
※ 引述《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# 这些呢?
: 谢谢指教!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.114.87.231
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/LinuxDev/M.1461120720.A.52C.html
1F:推 gn00618777: 谢谢,听你这样讲解有点概念 04/21 20:50