MGA*_*MGA 12 gtk user-interface qt wxwidgets
我已经做了几年的控制台编程,现在是时候了解一下GUI的迷人世界.我在wxWidgets中涉猎过一点点; 编写了一个Hello World程序,稍微玩了一下,等等.
现在我是那些有"低级诅咒"的人之一:我不知道如何使用有效的东西 - 我想知道引擎盖下发生了什么,即使它很少或者没有实际价值.
所以我一直在阅读这个主题(例如这里),但我发现很难绕过所有不同的系统,工具包和他们做的事情.到目前为止,我已经发现了(如果我错了,请纠正我):
现在提出一些问题:坚持使用类UNIX系统:
对于奖金,也许是Windows操作系统呢?它是否遵循类似的结构,还是完全按照自己的方式进行?
dra*_*hnr 11
X服务器,解释自己将需要超过10k字.不适合SO答案.阅读代码,让你的眼睛爆炸.裸露X适用于软件渲染.OpenGL 可以在该上下文中以两种不同的方式使用(参见下图).
不.这取决于X. X只是另一个可以实现其绘图原语的库,正如开发人员所希望的那样.但是X本身是一个非常复杂的野兽,它的扩展数量非常荒谬,这使得今天的X功能就像它一样(没有OpenGL支持,就像一个例子,没有xrandr).
这取决于你愿意承受多少痛苦.你肯定可以在你的屏幕上绘制X基元或OpenGL基元,但它不再是80年代了.
Gtk +/Qt是OS特定API(X/Wayland/W*)的抽象,以减轻创建GUI的痛苦并减少要编写的代码量.这些抽象本身具有很高的复杂性,并且有数千行代码(只需查看Gtk +提供的GtkTreeView Klass).因此,您现在只需定义按钮和布局以及窗口小部件的包装,而不是绘制像素.
因此,从这篇wiki文章中,您可以获得对X proto 的GLX扩展的基本概述:

另请参阅使用X完成绘图的概述
请注意,如果Wayland和/或Mir会快速启动,这将在未来几年内被淘汰.那些是完全不同的故事.
| 归档时间: |
|
| 查看次数: |
2843 次 |
| 最近记录: |