-2

我想写一个非常简单的Linux桌面环境或者一个不用DE就可以运行的程序,这里是我的要求

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

1- DE 将全屏显示

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

3-最少的服务,只想连接到局域网并读取 rtp (udp) 流

4-使用Qt和Qt Quick编写这个DE或应用程序,如果不能使用openGL

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

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

7-键盘和鼠标支持

我是 C++ 和 Qt 程序员,我有良好的 Linux 管理背景

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

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

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

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

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

4

1 回答 1

1

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

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

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

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

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

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

不,您应该将QGuiApplication用于此类事情。QApplication用于基于小部件的应用程序,使用 Qt 5,这是您应该使用的主要 Qt 版本。

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

于 2013-09-28T08:26:06.163 回答