GUI框架实际上是如何开发的

|| 我主要从事Web开发工作,但偶尔进行一些C / C ++或Java编程。我很好奇这些框架实际上是如何产生其GUI中使用的图形的。设计人员是否在Photoshop中设计了GUI元素(标题栏,窗口框架,状态栏,按钮等),然后开发人员将该图形添加到框架中?还是开发人员实际上是在设计师的指导下以编程方式构建元素? 如果有人可以给我概述,那就太好了!     
已邀请:
很好的问题,云雀!由于我们位于Qt Framework分支中,因此我将告诉您它在Qt中是如何完成的,但是我确定您可以将其应用于类似的框架或库,例如GTK等。 因此,Qt启动了一个框架,该框架将为多种平台提供一个API,从而可以非常轻松地将应用程序从一个平台移植到另一个平台,同时在这些平台上提供本机外观。因此,例如在MacOSX上,按钮将具有蓝色的Aqua样式,而在Windows XP上,它将看起来像Windows平台上的按钮。 Trolltech付出了很多努力,并且在使GUI看起来本机化方面做得很好。那么它是如何工作的呢?好吧,所有Qt小部件都使用QStyle及其派生类来呈现自己。根据样式,小部件的外观会有所不同。所有标准小部件都遵循为其设计的平台的指南。在它后面可能有一些小型图形设计师的作品,但是我相信它并不那么重要。外观的主要来源是平台指南,该指南描述了这些平台上的UI元素应如何显示及其行为。 但是Qt的发展非常迅速,巨魔使用了一种非常有前途的技术,称为Qt Quick。它是一项了不起的技术,可让设计人员和开发人员紧密合作,以提供最佳的UI。它高度重视使用Photoshop,GIMP或代码中的类似工具制作的艺术品。 Qt Quick的设计人员使用模型比C ++ / Qt更容易使用,因为Qt Quick最初是为此而设计的。 希望能有所帮助     
大多数GUI框架的基本底层功能都已经很老了,这是早期开发人员使用原语进行大量艰苦工作的结果-实际上是使用C或Assembler在底层屏幕上以非常低的级别绘制内容等。慢慢地,出现了用于抽象这些过程的库,以及用于完善和组织这些过程的框架和类层次结构。所有Linux GUI(实际上,几乎所有现代GUI框架)都基于XWindows,例如:   X起源于麻省理工学院(MIT)   1984年。协议版本自1987年9月起为X11。...X主要定义协议和图形基元-故意定义   不包含应用程序用户界面设计的规范,例如   作为按钮,菜单或窗口标题栏样式。相反,申请   软件–例如窗口管理器,GUI小部件工具包和桌面   环境或特定于应用程序的图形用户界面–   定义并提供此类详细信息。结果,没有典型的X   界面和几种不同的桌面环境已成为   在用户中很受欢迎。 有关更多信息,请参见此处。     

要回复问题请先登录注册