Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface GUI';真的是这样吗?_User Interface_Operating System_Low Level - Fatal编程技术网

User interface GUI';真的是这样吗?

User interface GUI';真的是这样吗?,user-interface,operating-system,low-level,User Interface,Operating System,Low Level,我的问题是 Gui库,如Qt和lets,用于Windows操作系统 他们如何创建所有这些图形用户界面(windows等) 每个操作系统是否都提供API或其他功能?如果是,那么操作系统是如何绘制所有这些窗口和内容的。它们(操作系统)“控制”屏幕,然后逐个绘制每个像素以在GUI中实现其目标的吗 我想要一个尽可能低层次的答案,但我不要求有人给我写所有发生的事情(即使我愿意),因为我知道这背后有很多事情。因此,通过链接或建议书进行评论,并用详细说明 如果您能了解引擎盖下正在发生的事情,我们将不胜感激。答

我的问题是
Gui库,如Qt和lets,用于Windows操作系统 他们如何创建所有这些图形用户界面(windows等)

每个操作系统是否都提供API或其他功能?如果是,那么操作系统是如何绘制所有这些窗口和内容的。它们(操作系统)“控制”屏幕,然后逐个绘制每个像素以在GUI中实现其目标的吗

我想要一个尽可能低层次的答案,但我不要求有人给我写所有发生的事情(即使我愿意),因为我知道这背后有很多事情。因此,通过链接或建议书进行评论,并用详细说明

如果您能了解引擎盖下正在发生的事情,我们将不胜感激。

答案不应使用链接,评论可以使用,但不能使用答案

每个操作系统和gui库都是不同的,但是,是的,在某种程度上,它们确实绘制了每一个像素。它通常是非常有组织的,并且使用了许多性能解决方案,优化的例程可以更新一个矩形或屏幕的某个部分,有时涉及硬件(现在很多时候是硬件或基本上是gpu参与,cpu要求gpu绘制一些东西,然后gpu忙于放置所有像素)

例如,您可能希望创建某种字体呈现函数,该函数给定字体、要显示的字符串、字体大小,可能还有一个不向外显示的剪裁窗口,或者可能是一个函数,该函数使用字体、大小和字符串返回像素数,然后您可以调整字符串以适应和环绕(例如,环视此网页,将窗口拉得更宽、更窄,并观察web文本的作用)

肯定是某种图像绘制例程,能够将图形拉伸或拟合到定义的矩形

随着时间的推移,有趣的东西、游戏等进步如此之快,以至于很难回到简单的线条绘制和区域填充程序等。但随着技术的发展,游戏带来了一些简单的东西,如网页的好处……再次环顾四周


有许多开放源代码程序和库,您只需浏览源代码,看看您看到了什么。

操作系统提供了与监视器/显示器接口的库。简言之,GUI库(如Qt)与操作系统的这些库交互,并为您(程序员)创建了一个更简单的桥梁与显示器交互。例如,Qt可能有一个drawLine功能,它下面负责与操作系统的显示器/显示器上的绘图相关的像素排列。

这是一个相当好的问题,但我恐怕不是真的可以回答。是的,操作系统“控制”当涉及到与硬件交互时,几乎所有内容都是如此。谢谢你的回答。至于答案中的链接,我有一个错误的印象,认为它是可以的,因为我在其他问题的答案中看到了链接。我看到人们使用链接,并且有人说不要使用链接,我不知道这是否是一个书面规则,但作为答案它是有意义的/本网站上的文字会持续很多链接。如果信息在链接中而不是在本网站上,并且链接不好,那么问题和答案将变得无用。问题应该在这里而不是在链接中,答案应该在这里而不是在链接中,以便对读者有用。谢谢。你的回答让我确保了一些基本的信息我对事情可能如何运作做出了自己的结论。