【SylixOS】QT-QWS流程介绍

  1. QWS简介

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

  1. QWSServer服务端

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

服务端初始化主要流程:socket

  1. 初始化QWSServerSocket网络,当有客户端链接接入是会建立对应的QWSClient,来管理客户端程序事件收发。
  2. 初始化QWSDisplay管理窗口显示。
  3. 初始化QWSCursor管理鼠标键盘事件,主要包含两个主要的类QWSMouseHandler和QWSKeyboardHandler。
  1. QWSDiplay

QWSDiplay主要管理客户端和服务端网络事件和请求管理。经过QWSCommand管理窗口操做的一些列请求,经过QWSEvent管理鼠标键盘事件等。spa

  1. QWSClient客户端

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

  1. QWSWindow

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

 

 

 

 

 

 

 

 

 

  1. 附录

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

 
 
G
M
T
 
 
Detect languageAfrikaansAlbanianAmharicArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CorsicanCroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchFrisianGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHawaiianHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanKurdishKyrgyzLaoLatinLatvianLithuanianLuxembourgishMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPashtoPersianPolishPortuguesePunjabiRomanianRussianSamoanScots GaelicSerbianSesothoShonaSindhiSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshXhosaYiddishYorubaZulu
 
AfrikaansAlbanianAmharicArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CorsicanCroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchFrisianGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHawaiianHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanKurdishKyrgyzLaoLatinLatvianLithuanianLuxembourgishMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPashtoPersianPolishPortuguesePunjabiRomanianRussianSamoanScots GaelicSerbianSesothoShonaSindhiSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshXhosaYiddishYorubaZulu
 
 
 
 
 
 
 
 
 
Text-to-speech function is limited to 200 characters
 
 
Options : History : Feedback : Donate Close
相关文章
相关标签/搜索