用 C++ 编写一个简单的 Linux 桌面环境



我想写一个非常简单的Linux桌面环境或一个在没有DE的情况下运行的程序,这是我的要求

应用程序或 DE 将是 IPTV 播放器(作为 IPTV 机顶盒(我希望它在启动后直接运行(没有登录屏幕或类似的东西(

1-DE将全屏显示

2-无需运行任何其他GUI程序,只需通过我的应用程序调用命令行程序,因此无需窗口管理器或显示管理器(如果可能(

3-最小服务,只想连接到局域网并读取 RTP (UDP( 流

4-使用Qt和Qt快速编写此DE或应用程序,如果无法使用openGL

5-必须使用 libvlc 或任何其他库来读取和播放 rtp 流

6-使用apt-get安装或删除软件包

7-键盘和鼠标支持

我是一名 c++ 和 Qt 程序员,我有很好的 Linux 管理背景。

如果您有任何帮助编写DE的想法,或者任何直接在XWindow上运行的现有想法,请帮助

DE将像PC一样使用普通的DVB接收器来列出频道并选择一个要查看

如何将我的Qt应用程序作为DE启动并将其放入/usr/share/xsessions中as/usr/share/xsessions/myDE.desktop

如何将Qt配置为在没有窗口管理器或显示管理器的情况下运行

我应该使用 QApplication 或任何其他类来运行我的应用程序吗

我想

首先说的是,你应该只考虑Qt 5,而忘记Qt 4。带有QWS的Qt 4设计有点旧,因此存在缺陷。Qt 5有一个很好的QPA(Qt平台抽象(接口,可以轻松添加平台插件,这使得架构健壮而灵活。

如何将Qt配置为在没有窗口管理器或显示管理器的情况下运行

如果你想

有一些轻量级的解决方案,你可以将Qt与适当的平台插件一起使用,如eglfs,linuxfb,directfb,minimalegl等,而无需复杂的窗口和显示管理器。

在这里,您可以找到Qt 5当前尝试支持的平台插件列表:

https://qt.gitorious.org/qt/qtbase/source/475cbed2446d0e3595e7b8ab71dcbc1ae5f59bcf:src/plugins/platforms

我应该使用 QApplication 还是任何其他类来运行我的应用

不,你应该使用QGui应用程序来做这种事情。QApplication适用于基于Qt 5的小部件的应用程序,这是您应该为此使用的主要Qt版本。

遗憾的是,Qt Quick 2渲染取决于OpenGL API的可用性,因此您需要将其设置为参考。这并不一定意味着使用 GPU 进行硬件加速。拥有基于软件的开放标准实现也很好。

最新更新