2012-02-20 52 views
2

首先,我非常抱歉提出这样的基本问题。我正在决定是否应该在嵌入式Linux设备上使用Qt(首先尝试使用TI OMAP EVM),以开发用户界面并管理在设备上运行的应用程序(并在运行时添加删除应用程序通过无线(WiFi)软件下载)。Qt4嵌入式Linux新手 - 应用程序管理,部署和通用架构?

我一直在阅读诺基亚Qt参考文档,觉得我错过了理解中的基本步骤。

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

为了理解这是否意味着我必须运行一个应用程序然后运行应用程序,或者如果在Qt体系结构中有一些内置机制来执行这种类型的应用程序启动,我正在苦苦挣扎(作为一个完整的新手) 。

因此,我显然不需要直接问一个问题如何做到这一点,我显然需要从基础知识开始。我已经阅读了QWSServer和QWSClient体系结构,这很有道理。 但是,我无法找到有关如何操作的信息:

  • 启动应用程序或对其进行管理。 (谁启动/挂起应用程序?)
  • 应用程序的部署模型(它们是否与QWSServer处于相同的Linux进程或线程中?)
  • 如何在运行时添加应用程序?

我猜我错过了一个非常明显的顶级文档,解释了这种基本功能。这可能是我应该花时间下载SDK,并尝试使用Qt(再次道歉,我现在没有太多时间做适当的工作:()

所以,如果任何人都可以指出我有关文件的方向,这将是非常赞赏

回答

1

Qt是一个窗口工具包 - !不是一个窗口管理器

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

Qt/Embedded实际上只是Qt的硬件 - 而不是依靠操作系统系统或X窗口来完成绘图。我想你可能会将Qt与其中一款使用Qt作为其gui的诺基亚移动操作系统相混淆。

+0

感谢您的回复。是的,我想我是希望得到更多!我已经被告知了现在是QPA的灯塔项目,这可能会帮助我在这个领域。我会研究一下,但文档在地面上很薄弱!再次感谢Ringo – Ringo 2012-02-22 18:58:19

0

QWS是一个窗口系统,专门设计用于在嵌入式情况下支持Qt应用程序,其中可能没有其他窗口管理器(或可接受的轻量级窗口管理器)。它的功能比KDE或gnome等重量级的功能要少一些,但是可以沿着同样的方向处理。然而,关于它的一个方面是,你可以开发自己的插件来绘制窗框,标题栏等等。,以便以您想要的方式塑造他们。

在参考QWS,你问:

  • 启动应用程序或管理它们。 (谁启动/暂停应用程序?)

操作系统启动并挂起应用程序。 QWS是一个开窗系统,而不是操作系统。在我所知道的情况下,它运行在Linux变体之上。您预想的主窗口可能最好作为自己的应用程序开发,以某种方式启动其他应用程序。应用

  • 部署模型(他们是在同一个Linux的进程或线程的QWSServer?)

他们一般都在比窗口服务器的其他进程。当然,根据您启动它们的方式,它们可能与启动板应用程序处于相同的进程或不同的进程。注意在同一个进程中运行它的潜在问题:在给定进程中只能有一个QApplication实例。

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

我会假设你的启动板将提供一种机制,添加应用程序,这将其放在合适的位置上盘。你可以用它来做任何事情来改变要启动的应用程序列表。一个例子就是基于一个祝福的目录来更新你的GUI。另一个选择可能是将一个单独的插件与应用程序捆绑在一起,并且您的启动板应用程序会加载这些插件以获取有关应用程序的信息。真的,假设你提供了在系统上安装应用程序的入口点,这里的可能性几乎是无止境的。