1、QT的各种界面是不是用OpenGL画出来的?然后在处理控件响应?
2、QT开发任何程序都不用操作系统API吗?只用QT就能开发任何程序?
3、如果第二种不满足,那哪类程序需调用API?
GTK Gnome X-Window等等
QT的底层,是用各种OS的界面库(而不是绘图库)适配出来的,这使得QT在不同的OS上看上去都和那个平台原生的应用风格一样。
Linux下有GTK Gome X-Window等等,Windows有Windows API。
OpenGL并不是必须的,要知道,很多早期的,没有3d加速特性的显示卡(甚至直到今天服务器上还有ATi的某些显卡)是根本不支持OpenGL硬件规范的。
你说的界面就是窗口吧?这些东西跟opengl没有关系的,没有opengl,windows上的图形界面难道做不起来了吗?
qt只有某些widget是跟opengl相关的,但是如果你不需要画3D的内容,qt也不需要opengl支持。但是假如你要写一个画图程序,那你还得要用到这部分类了。
上面的都说了,Qt只是封装了操作系统的窗口API,用Qt来编写程序你可以不用管系统API了,Qt帮你转接到了系统API了,不同的系统调用不同的函数。但是你看到的 Qt接口是一致的,内部你不用管了!
一般情况下,qt 对于desktop OS的支持还是不错的,你用qt写的程序基本上很容易在windows,linux, MacOSX上面跑,但是android,qnx等这些系统有很多功能还没有做好哦