窗口如何在qt嵌入中工作,Qt直接绘制到帧缓冲区而不是通过单独的窗口系统?我可以一次运行多个程序吗?我是否得到合成和小[x]按钮,最大化等等?
答案 0 :(得分:5)
您需要运行一个应用程序作为服务器来提供窗口管理功能;例如,在运行它时在命令行传递-qws选项。
任何其他应用程序都作为客户端运行。有关详细信息,请参阅此页面:
答案 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
其他应用程序应作为客户端运行。