Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.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

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
从头开始的C++ UI框架? < >我想创建一个C++的框架,比如Qt或类似Ubuntu Unity桌面< /P>_C++_User Interface - Fatal编程技术网

从头开始的C++ UI框架? < >我想创建一个C++的框架,比如Qt或类似Ubuntu Unity桌面< /P>

从头开始的C++ UI框架? < >我想创建一个C++的框架,比如Qt或类似Ubuntu Unity桌面< /P>,c++,user-interface,C++,User Interface,是如何编程的,是使用OpenGL还是让我们使用QT的plasma用户界面?这是如何编程的 直接回答,参考链接,一切都会有帮助 一些有趣的基于opengl的UI在web上 液体发动机 利布努伊 一些UI框架自己呈现所有内容,并基于主机系统屏幕中的某种剪辑窗口工作。非显示方面(如输入事件处理)必须转换为主机系统底层API或从主机系统底层API转换而来 一些UI框架尽可能多地转换为一些底层框架 wxWidgets可以同时完成这两个任务。如果您在Windows上,则可以选择本机版本,例如wxMSW,并且

是如何编程的,是使用OpenGL还是让我们使用QT的plasma用户界面?这是如何编程的

直接回答,参考链接,一切都会有帮助


一些有趣的基于opengl的UI在web上

液体发动机 利布努伊
一些UI框架自己呈现所有内容,并基于主机系统屏幕中的某种剪辑窗口工作。非显示方面(如输入事件处理)必须转换为主机系统底层API或从主机系统底层API转换而来

一些UI框架尽可能多地转换为一些底层框架

wxWidgets可以同时完成这两个任务。如果您在Windows上,则可以选择本机版本,例如wxMSW,并且大多数wxWidgets控件将使用本机Windows控件实现。同样,您也可以选择wxUniversal版本,其中所有控件都由wxWidgets库本身实现

问题是典型的GUI框架非常庞大。如果你想模仿一个更易于管理的例子,你可以看看FLTK。我自己还没来得及研究它,但它以体贴著称

还有一些专门针对游戏编程的GUI工具包,比如疯狂的Eddies GUI。我的猜测是——这些可能与底层API尽可能独立,因此特定的应用程序可以实现映射到任何一个底层API,它们恰好以OpenGL、DirectX、SDL等为目标,并且可以成为GUI的老板,而不是visa的老板


一些UI框架自己呈现所有内容,并基于主机系统屏幕中的某种剪辑窗口工作。非显示方面(如输入事件处理)必须转换为主机系统底层API或从主机系统底层API转换而来

一些UI框架尽可能多地转换为一些底层框架

wxWidgets可以同时完成这两个任务。如果您在Windows上,则可以选择本机版本,例如wxMSW,并且大多数wxWidgets控件将使用本机Windows控件实现。同样,您也可以选择wxUniversal版本,其中所有控件都由wxWidgets库本身实现

问题是典型的GUI框架非常庞大。如果你想模仿一个更易于管理的例子,你可以看看FLTK。我自己还没来得及研究它,但它以体贴著称

还有一些专门针对游戏编程的GUI工具包,比如疯狂的Eddies GUI。我的猜测是——这些可能与底层API尽可能独立,因此特定的应用程序可以实现映射到任何一个底层API,它们恰好以OpenGL、DirectX、SDL等为目标,并且可以成为GUI的老板,而不是visa的老板


GUI框架非常依赖于windows系统,它规定了允许的内容以及如何创建和呈现窗口。例如,传递特定选项以创建无边框或全屏窗口

既然你提到了opengl和ubuntu,我想你应该从linux平台开始。你应该学习xlib,你可以从中找到参考


由于qt库是开源的,您可以下载它并查看它的源代码。

GUI框架非常依赖于windows系统,它规定了允许的内容以及如何创建和呈现窗口。例如,传递特定选项以创建无边框或全屏窗口

既然你提到了opengl和ubuntu,我想你应该从linux平台开始。你应该学习xlib,你可以从中找到参考

由于qt库是开源的,您可以下载它并查看它的源代码。

UI库不是从头开发的。它依赖于操作系统的窗口系统,它依赖于图形适配器的驱动程序,它依赖于操作系统内核,它依赖于。。。等等

要从头开始开发任何软件,您可以从编写自己的BIOS开始。一旦你完成了,就开始编写操作系统,然后你就应该准备好编写你想要的软件了。祝你好运

当然,这是假设你愿意作弊,并使用一个不是从头开始编写的编译器。

UI库不是从头开始开发的。它依赖于操作系统的窗口系统,它依赖于图形适配器的驱动程序,它依赖于操作系统内核,它依赖于。。。等等

要从头开始开发任何软件,您可以从编写自己的BIOS开始。一旦你完成了,就开始编写操作系统,然后你就应该准备好编写你想要的软件了。祝你好运


当然,这是假设你愿意作弊,并使用一个不是从头开始编写的编译器。

在你这么做之前,值得你花一周时间思考: 1、你真的知道怎么做吗?我对此表示怀疑。
你真的需要这么做吗?我也对此表示怀疑

在你这么做之前,值得你花一周时间思考: 1、你真的知道怎么做吗?我对此表示怀疑。 你真的需要这么做吗?我也对此表示怀疑

不,真的,不要编写自己的wm或工具包 irc.freenode.org上的Xorg-devel家伙 无论如何,执行一项操作意味着您必须针对各种或多或少有缺陷的WMs和X实现进行测试,并且必须经常更新以与最新的Xorg服务器和X协议功能(如Xinput 2.1)兼容

可以理解的是,Xorg的人已经厌倦了支持旧的、未维护的工具包和应用程序。他们已经有足够的bug了。

不,真的,不要编写自己的wm或工具包 irc.freenode.org上的Xorg-devel家伙 无论如何,执行一项操作意味着您必须针对各种或多或少有缺陷的WMs和X实现进行测试,并且必须经常更新以与最新的Xorg服务器和X协议功能(如Xinput 2.1)兼容



可以理解的是,Xorg的人已经厌倦了支持旧的、未维护的工具包和应用程序。他们已经有足够的bug。

你可以下载源代码并找出答案:要从头开始开发UI框架,你必须先创建universe。你可以下载源代码并找出答案:要从头开始开发UI框架,你必须先创建universe。FWIW,StruouTutp在他的书中使用FLTK——使用C++的原理和实践。FWWW,StruouTUP在他的书编程中使用FLTK——使用C++的原理和实践。我认为GTK团队会被激怒,告诉他们他们没有从头开始开发UI库——当然X确实是GTK。Windows窗口系统也是如此。而这两个都不是从零开始发展起来的。它们基于操作系统的其他层,最终,它们都是在底层驱动程序和固件的基础上分层的,这些底层驱动程序和固件使图形卡在屏幕上显示像素。这个问题是完全正确的,这个答案是迟钝的。OP已经声明从头开始应该以OpenGL和C++为起点进行解释。我不知道你为什么要从字面上理解“从头开始”。很明显,OP想知道像Qt这样的典型GUI是基于什么框架/库/概念构建的,他甚至明确提到了这一点。我认为GTK团队如果被告知他们没有从头开始开发UI库会很恼火——当然X确实是GTK的基础。Windows窗口系统也是如此。而这两个都不是从零开始发展起来的。它们基于操作系统的其他层,最终,它们都是在底层驱动程序和固件的基础上分层的,这些底层驱动程序和固件使图形卡在屏幕上显示像素。这个问题是完全正确的,这个答案是迟钝的。OP已经声明从头开始应该以OpenGL和C++为起点进行解释。我不知道你为什么要从字面上理解“从头开始”。显然,OP想知道像Qt这样的典型GUI是基于什么框架/库/概念构建的,他甚至明确提到了这一点。但是编写工具包与发布工具包并不相同。他可能只是想做一个学习练习之类的事情,看看简单GUI工具包的内部是如何工作的。谢谢Steve,这正是我想要做的。但是,如果我能把事情做好,我会把它用于我自己的事业……但是编写工具包并不等同于发布工具包。他可能只是想做一个学习练习之类的事情,看看简单GUI工具包的内部是如何工作的。谢谢Steve,这正是我想要做的。但是如果我能把事情做好,我会用我自己的冒险…一些有趣的基于opengl的UI我在web LiquidEngine上找到了------Libnui------一些有趣的基于opengl的UI我在web LiquidEngine上找到了------Libnui------这是一个典型的让我们永不前进!范例。通常,你这样做要么只是为了从中学习,要么是为了理解当前的解决方案,要么是为了学习所需的编程语言/库,要么是因为你想拥有一个特定于你的应用程序的非常简约的UI框架。这是一个典型的让我们永不前进!通常,您这样做只是为了从中学习,或者了解当前的解决方案,或者学习所需的编程语言/库,或者因为您希望拥有一个特定于您的应用程序的非常简约的UI框架。