还有一些注意事项.
GTK +和Qt都不使用Windows和OS X的本机小部件.它们使用本机API来近似外观,但内部一切都是自定义的.
GTK +和Qt负责并定义Linux上程序可用的主题.桌面环境通常提供了一种为所有应用程序全局更改主题的方法,但是如何完成此操作由GTK +和Qt定义.例如,GTK + 3通常用于~/.config/gtk-3.0/settings.ini存储此信息(并且此文件有一个编程API).
Qt通过QGtkStyle为GTK + 2主题搭建了桥梁,KDE开发人员为GTK + 2和GTK + 3维护了他们的Oxygen主题版本.(前一句可能在未来发生变化,特别是现在GTK + 2已经死了.)
更新1:Unix系统只提供一种方法来保留屏幕的矩形区域,以便用它做你想做的事情,包括绘制(如绘制位图图像).绘图(如图纸形状)是手工完成的.GTK +使用一个名为cairo的库来绘制它; 我相信Qt写了自己的(QPainter?).Windows和OS X都提供绘图API(Windows有几个; OS X有Core Graphics).(X11确实有绘图基元,但我认为它们的表现力不足以用于现代2D图形;我不知道......)
这同样适用于字体渲染,尽管现代Unix系统倾向于将字体渲染基于一些普遍接受的基础库(freetype,fontconfig,fribidi,harfbuzz).GTK +使用Pango进行文本布局(实际上将文本块排列成行和段落)和绘图(Pango与cairo集成); 我相信Qt也使用它自己(这次我不确定).