窗口如何在qt嵌入中工作?

时间:2009-02-11 21:03:56

标签: qt qtembedded

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

3 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

来自Qt文档:

  

嵌入式Linux应用程序的Qt需要服务器应用程序   正在运行,或者是服务器应用程序本身。任何Qt for   嵌入式Linux应用程序可以是服务器应用程序   使用QApplication :: GuiServer构造QApplication对象   键入,或使用-qws命令行选项运行应用程序。

因此,您可以将QApplication::GuiServer作为第三个参数传递给QApplication构造函数以获得服务器:

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

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

./MyApp -qws

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