您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

在Linux(台式机和笔记本电脑)上,X11服务器通常会显示图形屏幕(至少在2015年初是这种情况)。您的GUI应用程序通过套接字与该服务器通信,通常是在Unix套接字(例如)上本地进行的/tmp/.X11-unix/X0。X11服务器通常是Xorg

对于某些嵌入式设备,例如Android手机或某些小工具(汽车,汽车或医疗设备行业中的GPS),则有所不同(DirectFB帧缓冲设备 -台式机上的X11服务器使用的…)

一些发行版正在切换到Wayland(或者也许是Mir)。由于我不太了解,因此无法解释细节。在AFAIU中,仍然涉及一些服务器(例如Xorg,它是与图形卡通信的唯一的用户级软件组件)和一些协议,并且主要的工具包(例如Qt和GTK)也已适应它们(因此,如果您为Qt或GTK,您无需关心这些细节,但应该升级工具包。

图形工具箱(Qt,Gtk)通过某些特定协议(例如,用于X11的X Window System协议)与X11服务器(或Wayland)进行交互。由于历史原因,这些协议非常复杂,实际上需要遵循某些约定,例如EWMH

X11今天不像上个世纪那样被使用。特别是X11服务器端绘制功能(例如Xlib的XDrawLineXDrawText)在今天很少使用,因为该工具包正在绘制像素图图像客户端并将其发送到服务器。

注意,您可能不考虑为应用程序提供GUI界面,而是提供Web界面(例如,使用libonionWt,....之类的库);然后您的应用程序将变成专用的Web服务器,并且用户将通过浏览器(在其台式机/笔记本电脑/平板电脑/电话中)与您的应用程序进行交互。

实际上,用户界面是如此复杂,以至于您确实应该为其使用一些工具包(如果使用C ++进行编码,则为Qt)。从头开始编码(甚至在XlibXCB之上,对于X11)也需要花费大量的时间。

X11之上还存在其他一些小部件工具包,例如FOX工具包FLTK(但其中大多数功能比Qt或GTK少得多)。

其他 2022/1/1 18:14:11 有514人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶