首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与Windows和OS的集成方式相比,GTK和Qt如何与Linux集成?

与Windows和OS的集成方式相比,GTK和Qt如何与Linux集成?
EN

Stack Overflow用户
提问于 2015-11-24 04:38:21
回答 2查看 2.1K关注 0票数 3

据我所知,Windows和OS端的Qt和GTK只是本机GUI库的包装器,就像OS封装在Cocoa上,而Windows则包装在Win32上。然而,我的问题是,它们如何与Linux集成?桌面环境开发人员是否必须为Qt或GTK实现特殊的库,或者如何工作?我环顾四周,却找不到答案。

EN

回答 2

Stack Overflow用户

发布于 2015-11-24 14:21:17

一些进一步的注意事项。

GTK+和Qt都不使用Windows和OS的本地小部件。它们与使用本机API的外观相似,但在内部一切都是自定义的。

GTK+和Qt负责并定义Linux上的程序可用的主题。桌面环境通常为所有应用程序提供一种全局更改主题的方法,但是这是由GTK+和Qt定义的。例如,GTK+ 3通常使用~/.config/gtk-3.0/settings.ini存储此信息(并且这个文件有一个编程API。)。

Qt通过QGtkStyle为QGtkStyle 2主题搭建了一座桥梁,KDE开发人员为GTK+ 2和GTK+ 3维护了氧气主题的版本。(前一句可能会在将来发生变化,尤其是现在GTK+ 2已经死了很久了。)

更新1:Unix系统只提供一种方法来保留屏幕上的矩形区域来执行您想要的操作,包括绘图(如绘制位图图像)。绘图(如在绘图形状中)是手工完成的。GTK+使用一个名为cairo的库进行绘图;我相信Qt编写了自己的(QPainter?)。Windows和OS都提供绘图API (Windows有几个;OS有)。(X11确实有绘图原语,但我认为它们的表现力不足以用于现代2D图形;我不知道.)

字体呈现也是如此,尽管现代Unix系统倾向于将它们的字体呈现建立在一些被普遍接受的基本库(freetype、fontconfig、fribidi、harfbuzz)之上。GTK+使用Pango进行文本布局(实际上将文本块排列成行和段落)和绘图(Pango与cairo集成);我相信Qt也使用它自己的(这次我不确定)。

一段时间前做的。

票数 7
EN

Stack Overflow用户

发布于 2015-11-24 07:39:39

没有明确的答案。Linux上没有原生GUI,Windows和OSX上也没有。X11是在Linux上使用的窗口系统(这也适用于Wayland和Mir ),它是非常基础和低级的,主要负责处理输入设备和为应用程序分配窗口。它不提供任何GUI组件,如按钮或文本字段。从这个意义上说,Qt和GTK+都可以看作是“本地”Linux库。更糟糕的是,桌面环境也起了一定作用。在Gnome上,GTK+可以被看作是更“本地的”,而在KDE上则更多地是“本地的”。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33885588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档