【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
相關文章
相關標籤/搜索