【问题标题】:How does windowing work in qt embedded?qt Embedded 中的窗口化如何工作?
【发布时间】:2010-10-07 00:43:21
【问题描述】:

在嵌入式 qt 中,窗口如何工作,Qt 直接绘制到帧缓冲区而不是通过单独的窗口系统?我可以同时运行多个程序吗?我是否获得合成和小 [x] 按钮、最大化等等?

【问题讨论】:

    标签: qt qtembedded


    【解决方案1】:

    您需要运行一个应用程序作为服务器来提供窗口管理功能;例如,通过在运行时在命令行中传递 -qws 选项。

    任何其他应用程序都作为客户端运行。有关详细信息,请参阅此页面:

    http://doc.qt.digia.com/4.5/qt-embedded-running.html

    【讨论】:

      【解决方案2】:

      来自 Qt 文档:

      Qt for Embedded Linux 应用程序需要一个服务器应用程序 正在运行,或者成为服务器应用程序本身。任何 Qt 嵌入式 Linux 应用程序可以通过以下方式作为服务器应用程序 使用 QApplication::GuiServer 构造 QApplication 对象 键入,或通过使用 -qws 命令行选项运行应用程序。

      所以您可以将QApplication::GuiServer 作为第三个参数传递给QApplication 构造函数以拥有一个服务器:

      QApplication app( argc, argv, QApplication::GuiServer );
      

      或将-qws 参数传递给应用程序以将其作为服务器运行:

      ./MyApp -qws
      

      其他应用程序应作为客户端运行。

      【讨论】:

        【解决方案3】:

        您要问的是它是如何工作的?如果你想要一个基本的概述,可以把它想象成 Linux 上的 X-windows 服务器,其中帧缓冲区绘制边框、装饰等,只有 Qt 库被编译为更直接地使用帧缓冲区而不是它们X-windows 服务器。程序也可以覆盖帧缓冲区的各个方面,而不需要由窗口服务器进行更改。但是,对于您使用 Qt 进行的大部分 UI 工作,您将使用与常规桌面版本完全相同的某些类(QDialog 等)。它们只是由不同的底层绘制。

        【讨论】:

          猜你喜欢
          • 2018-11-10
          • 2011-09-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-04-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多