Qt4嵌入式Linux新手-应用程序管理、部署和通用体系结构?

Qt4嵌入式Linux新手-应用程序管理、部署和通用体系结构?,qt4,embedded,qtembedded,Qt4,Embedded,Qtembedded,首先,我为提出这些基本问题深表歉意。我正在决定是否应该在嵌入式linux设备上使用Qt(第一次尝试将在TI OMAP EVM上进行),以开发UI和管理设备上运行的应用程序(以及在运行时通过无线(WiFi)软件下载添加和删除应用程序) 我一直在阅读诺基亚Qt参考文档,感觉自己在理解过程中错过了一个基本步骤 如果我可以澄清一下我所说的应用程序(我不确定我读过的Qt文档是否与此一致):应用程序是一个在设备上运行并使用该设备的服务的程序。 所以我想我可以使用Qt作为应用程序框架,并从中调用(或启动)Qt

首先,我为提出这些基本问题深表歉意。我正在决定是否应该在嵌入式linux设备上使用Qt(第一次尝试将在TI OMAP EVM上进行),以开发UI和管理设备上运行的应用程序(以及在运行时通过无线(WiFi)软件下载添加和删除应用程序)

我一直在阅读诺基亚Qt参考文档,感觉自己在理解过程中错过了一个基本步骤

如果我可以澄清一下我所说的应用程序(我不确定我读过的Qt文档是否与此一致):应用程序是一个在设备上运行并使用该设备的服务的程序。 所以我想我可以使用Qt作为应用程序框架,并从中调用(或启动)Qt应用程序。应用程序示例有:电子邮件客户端、映射、笔记本等。 我设想有一个主窗口,其中有一个可用的应用程序列表(可能是android等图标),然后从这个主窗口启动应用程序。如果事件来自系统,那么应用程序框架将适当地路由事件,这可能会导致另一个应用程序使用全屏

我(作为一个完全的新手)很难理解这是否意味着我必须运行一个应用程序,然后从中运行应用程序,或者Qt体系结构中是否有某种内置机制来启动这种类型的应用程序

因此,我显然需要从基础开始,而不是直接问一个关于如何做到这一点的问题。我读过关于QWSServer和QWSClient体系结构的文章,这在某种程度上是有道理的。 但是,我找不到有关如何:

  • 启动或管理应用程序。(谁启动/暂停应用程序?)
  • 应用程序的部署模型(它们与QWSServer在同一个Linux进程或线程中吗?)
  • 如何在运行时添加应用程序
我猜我错过了一个非常明显的顶级文档,它解释了这种基本功能。可能是我应该花时间下载SDK,并实际尝试使用Qt(再次道歉,我现在没有太多时间做适当的工作:()


因此,如果有人能为我指出相关文档的方向,我将不胜感激!

Qt是一个窗口工具包,而不是一个窗口管理器

有一些用于小型设备的Qt窗口管理器项目,当然整个KDE都是用Qt编写的


Qt/Embedded实际上只是硬件上的Qt,而不是依赖操作系统或X windows来绘制。我想你可能会把Qt与使用Qt作为gui的诺基亚移动操作系统混淆起来。

QWS是一个专门设计用于支持嵌入式情况下的Qt应用程序的窗口系统,在w可能没有其他窗口管理器(或可接受的轻量级窗口管理器)。它的功能比KDE或gnome等重量级软件略逊一筹,但处理方式相同。不过,它的一个特点是,您可以开发自己的插件来绘制窗口框架、标题栏等,以便按照您想要的方式对其进行样式化

关于QWS,您询问了:

  • 启动或管理应用程序。(谁启动/暂停应用程序?)
操作系统启动和挂起应用程序。QWS是一个窗口系统,而不是操作系统。据我所知,它运行在linux变体之上。您设想的主窗口可能最好开发为自己的应用程序,以某种方式启动其他应用程序

  • 应用程序的部署模型(它们与QWSServer在同一个Linux进程或线程中吗?)
它们通常位于Windows服务器以外的其他进程中。当然,它们可能位于与launchpad应用程序相同的进程或不同的进程中,这取决于您启动它们的方式。请注意在同一进程中运行它的潜在问题:给定进程中只能有一个QApplication实例

  • 如何在运行时添加应用程序

我假设您的启动板将提供一种添加应用程序的机制,该机制会将应用程序放在磁盘上的适当位置。您可以使用它来执行任意数量的操作,以更改要启动的应用程序列表。一个示例是,只需根据受祝福的目录更新GUI。另一个选项可能是使用单独的e插件与应用程序捆绑在一起,您的launchpad应用程序加载这些插件以获取有关应用程序的信息。实际上,如果您提供在系统上安装应用程序的入口点,这种可能性几乎是无穷无尽的。

感谢您的回复。是的,我想我希望得到更多!我一直没有关于灯塔项目,现在是QPA,这可能在这方面对我有帮助。我会研究一下,但文档资料很少。再次感谢Ringo