一、QPA(Qt Platform Abstraction)介绍

QPA is the platform abstraction layer for Qt 5 and replaces QWS and the platform ports from Qt 4.

Qt4的程序在嵌入式Linux运行时,需要加入参数“-qws”启动Qt窗口系统服务,如“./app -qws”运行app程序。从Qt5.0开始,Qt自身不再单独实现窗口系统,QWS不复存在,取而代之的新机制是QPA(Qt平台抽象),QPA使得Qt对不同平台的支持变得更加灵活,当需要支持一个新平台时,只需为该平台编写一个QPA插件。

二、QWS(Qt Window System)介绍

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

另外在运行QT程序时添加-qws参数,表示这个程序时QWS Server,否则是QWS Client。任何一个基于QT的application都可以做QWS Server。当然QWS Server一定先于QWS Client启动,否则QWS Client将启动失败。在实际应用中一般会指定某个特殊的application做QWS Server,这个application一般还会管理一些其它的系统资源。

QWS Server管理机制:QWS Server是一个server socket,QWS Client是一个client socket。QWS Client启动时会主动向QWS Server的server socket建立连接。而后就QWS Server通过这个socket传递QWS Command和QWS Event来管理QWS Client。

上面都是废话:

很多企业都是使用QT作为gui界面的开发,随着QT版本的升级,发现QT4与QT5有很多的地方兼容性很差,特别是升级QT4兼容QT5的时候,关于嵌入式linuxQWS模块,着实让人头疼,再加上前人留下的代码,几乎重新来了一遍!

我们要使用QWS。。。。。。等等的类,关键是QT5没了,全没了,有的连替代的都没有,那可是让新手很难过的
实在是没有办法了,我们只能调用tslib里面别人写好的校准,至于颜色需要自己实现,那就简单多了,不过还是要研究一下校准的原理,不然有点棘手。

【qt】QWS和 QPA相关推荐

  1. Qt5之QWS和QPA

    Qt是一个夸平台的库(一直宣称"Qt everywhere"),但是Qt底层不是夸平台的.比如:Qt中Gui部件的核心类QWidget,该类除了qwidget.h 和 qwidge ...

  2. 解决qt.qpa.plugin: Could not find the Qt platform plugin “xcb“ in ““

    目录结构如下,在运行目录下边有plugins目录,plugins目录下边有platforms目录,文件如下. 运行时报错如下. 根据经验,一般是由于库找不到造成的.使用ldd查看可执行程序,发现各个库 ...

  3. QT程序启动加载流程简介

    1. QT应用程序启动加载流程简介 1.1      QWS与QPA启动客户端程序区别 1.1.1   QWS(Qt Window System)介绍 QWS(Qt Windows System)是Q ...

  4. Qt介绍1---QPA(Qt Platform Abstraction)

    Qt是一个夸平台的库(一直宣称"Qt everywhere"),但是Qt底层不是夸平台的.比如:Qt中Gui部件的核心类QWidget,该类除了qwidget.h 和 qwidge ...

  5. QT--以共享的方式发布应用,QT依赖库

    Building Qt as a Shared Library 因为:QT基本上都是采用动态编译的(被安装的OS中的),(如安装包往往都是默认动态编译处理好的动态库),所以我们采用动态连接的方式进行发 ...

  6. 【Linux开发】【Qt开发】Qt界面键盘、触摸屏、鼠标的响应设置

    USB键盘 经过一番搜索,发现对Qt键盘的支持主要关系到两个方面: 1. 键盘类型确定: 4.7以前的Qt版本,如果是PS2圆孔键盘,Qt编译时需加上选项:-qt-kbd-vr41xx(未测试):如果 ...

  7. Could not load the Qt platform plugin “xcb“ 问题解决

    QPA qpa是Qt Platform Abstraction的缩写,qt5引入. 问题原因 qt默认的qpa在linux上是xcb:即 qpa backend: xcb 在编译中,需要安装全部x11 ...

  8. QT Quick项目简介

     在Qt 4中,Qt Quick只是在QGraphicsView之上做了简单的封装,并通过QtScript和JavaScript来为其提供脚本支持.基于QGraphicsView之上的QML在功能上仅 ...

  9. 学习Qt使用GDI+绘图笔记

    GDI+学习笔记 1.GDI+介绍: 2.GDI+的载入与卸载: 3.Qt中GDI+的使用 (1).pro文件设置 (2)widget属性设置 (3)重载painEngine()方法 (4)获取HDC ...

  10. Qt使用GDI绘图(仅Windows平台)

    绘图引擎 Windows环境下二维绘图引擎有多种选择:GDI.GDI+.DirectDraw.Qt/QPainter.Agg.Cairo.skia.Direct2D.Direct3D.OpenGL等. ...

最新文章

  1. js动态变量名_scss引入其他scss变量,并通过js动态修改scss变量
  2. 聊一聊跨域,Vue向Django请求数据的一些问题
  3. 2019华为全联接大会(汇总)
  4. Silverlight C# 游戏开发:Flyer03大图裁剪,高效动画的艺术
  5. ORACLE -- ORA-12520
  6. c语言配电自动化,我是电气工程及其自动化专业的要学C语言吗?
  7. 团队开发里频繁使用 git rebase 来保持树的整洁好吗?
  8. 2017长春java平均工资_2016年长春在岗职工社会平均工资出炉:66948元,月平均工资5579元...
  9. 烽烟通讯2100万限售股将于3月7日疏通流畅上市
  10. 《ANTLR 4权威指南》——第2章 纵 观 全 局 2.1 从ANTLR元语言开始
  11. 金蝶K3物料主数据计划策略字段设置
  12. 【科创人】白山云科技CTO童剑:积极是态度更是方法,怀念4点起床敲代码的日子...
  13. 通俗理解ROC曲线(Receiver Operating Characteristic Curve)
  14. 通过网页免费下载音乐(F12)
  15. Android开发之监听或获取手机短信内容
  16. JS中的构造函数的含义和用法
  17. 华为云管理网络2.0,志不止于网络
  18. 因为计算机中丢失d3dx926.dll,win10系统打开程序提示丢失d3dx9 26.dll的解决方法
  19. 【20180128】【matlab】均值、标准差、方差、协方差、中值的求解
  20. WebGL,Cesium以及GeoJSON数据的简单介绍

热门文章

  1. SEO超级外链留痕工具 最新SEO外链一键优化网站源码
  2. 推荐几个资源搜索网站
  3. 数学笔记12——常微分方程和分离变量
  4. pci总线扫描及pci网卡驱动
  5. 【记忆法】记忆法推荐书
  6. ads设计Doherty功放(2)
  7. 点进来,你看到的就是全网最全c++11新特性(持续整理更新中)
  8. 用HTML绘制三线表,CSS制作三线表 | 学步园
  9. 摩托罗拉e680i手机刷linux开源系统
  10. (java毕业设计)基于java汽车租赁管理系统源码