千家信息网

【SylixOS】QT-QWS流程介绍

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,QWS简介QWS(QT Windows System)是QT自行开发的窗口系统,体系结构类似X Windows的C/S结构。QWS Server在物理设备上显示,QWS Client实现界面,两者通过
千家信息网最后更新 2025年01月23日【SylixOS】QT-QWS流程介绍

QWS简介
QWS(QT Windows System)是QT自行开发的窗口系统,体系结构类似X Windows的C/S结构。QWS Server在物理设备上显示,QWS Client实现界面,两者通过socket进行彼此的通讯。在很多嵌入式系统里,QT程序基本上都是用QWS来实现,这样保证程序的可移植性。

QWSServer服务端
QT程序没有严格区分服务端程序和客户端程序,通知指定-platform参数来确定程序是客户端还是服务端程序,对于QWSServer功能主要作为服务端程序统一管理多客户端鼠标键盘事件,以及不同客户端窗口重叠渲染管理等。

服务端初始化主要流程:

初始化QWSServerSocket网络,当有客户端连接接入是会创建对应的QWSClient,来管理客户端程序事件收发。
初始化QWSDisplay管理窗口显示。
初始化QWSCursor管理鼠标键盘事件,主要包含两个主要的类QWSMouseHandler和QWSKeyboardHandler。
QWSDiplay
QWSDiplay主要管理客户端和服务端网络事件和请求管理。通过QWSCommand管理窗口操作的一些列请求,通过QWSEvent管理鼠标键盘事件等。

QWSClient客户端
QWSClient在QWS系统中属于客户端在服务端的代理对象,服务端通过QWSClient与客户端交互,完成事件请求交互。

QWSWindow
QWSWindow在QT属于中间层的概念,它在平台窗口管理系统中像一个容器,管理QWidget客户端程序窗口的不同操作,比如窗口的位置大小、窗口是否处于focus状态、toplevel widget的管理,QT事件的分发、以及不同窗口之间的重叠管理。



6. 附录

图 6.1 QWS客户端与服务端交互图

0