1
0
mirror of https://gitee.com/drabel/LibQQt.git synced 2025-01-04 10:18:44 +08:00
LibQQt/README.md

203 lines
11 KiB
Markdown
Raw Normal View History

2018-09-26 18:06:39 +08:00
# QQt Foundation Class
2017-10-27 11:20:12 +08:00
2018-09-26 18:06:39 +08:00
QQt Foundation Class简称LibQQt。
2018-01-23 19:43:38 +08:00
LibQQt为基于Qt开发的App提供中间问题处理层适配桌面、嵌入式以及Android、IOS的开发。
2018-08-25 09:01:36 +08:00
LibQQt为用户自动生成Library SDK主动帮助用户发布App和资源文件。
2018-01-23 19:43:38 +08:00
2018年1月LibQQt代码变更数量已达30万主要面向初、中、高级软件相关专业、有一定App开发经验的工程师。
2018-01-23 20:02:05 +08:00
LibQQt现进行正式发布版本v2.1.6.0,欢迎工程师们使用。
2018-08-25 09:01:36 +08:00
2018年8月LibQQt代码变更数量已达45万主要面向嵌入式、桌面平台进行了功能和库扩充使用多链接技术v2加强了管理能力。
LibQQt现进行证实发布版本v3.1,欢迎工程师们使用。
2018-01-21 16:49:37 +08:00
2018-04-29 21:15:05 +08:00
gitee link: https://gitee.com/drabel/LibQQt
github link: https://github.com/AbelTian/LibQQt
2018-01-21 16:49:37 +08:00
========================================================================
# 摘要介绍
2018-08-25 09:01:36 +08:00
*LibQQt包括基础组成、精美组成、高级组成*
2017-12-14 22:40:31 +08:00
- 基础组成可以完成专业App所需要的业务功能和图形功能。
2018-08-25 09:01:36 +08:00
- 精美组成包括高级业务功能和超级图形功能。都在src/exquisite文件夹里
- 高级组成包括App工程师们不多使用不太熟悉的、比较艰难的功能。都在src/highgrade文件夹里
2017-12-14 22:40:31 +08:00
*如果用户希望精简LibQQtqqt_header.pri里面有很多模块开关开开关关能修剪。*
2018-01-16 17:34:14 +08:00
*不建议使用cmake建议使用qmake。*
2018-08-25 09:01:36 +08:00
*自动发布应用程序,自动拷贝应用配置,自动发布依赖库。(请正确配置三个主目录)*
2018-01-21 16:49:37 +08:00
2018-03-01 12:23:28 +08:00
2018-01-21 16:49:37 +08:00
========================================================================
# 详细介绍
2018-01-16 17:34:14 +08:00
2018-04-09 14:23:28 +08:00
1. 支持绘制图表
2018-04-22 13:03:28 +08:00
- [QQtChart](src/charts/qqtchartview.h) (compatiable with QChart and QCustomPlot)
2018-04-09 14:23:28 +08:00
2. 支持检测USB设备热插拔
3. 自定义了一部分特殊需要的控件用来解决Qt的嵌入式bug。
- 包括完全使用图片的checkboxswitchbutton
- QQtTabWidget解决QtTab不能竖排横显文字的问题
2018-04-22 13:03:28 +08:00
- QQt进度条解决Qt进度条在Dialog中导致系统死机的问题(e-linux)
2018-04-09 14:23:28 +08:00
1. 添加精美控件
- 包括复杂的圆盘进度条, SpeedMeter
- 包括有多种效果的Widget、Dialog
- 二维码生成器、识别器,校验码生成器
- 九宫格技术展示图片
2018-07-17 09:10:56 +08:00
- 添加gif support Widgets
- 可以方便的设置动态按钮等。
- 有[QQtGifWidget](src/exquisite/gifwidgets/qqtgifwidget.h)、QQtGifButton等。
- 添加color support widgets
- 单色Widget。
- 添加click and click sound widget
- 带按键声支持长按、双击的widget和label等控件。
2018-04-09 14:23:28 +08:00
- 以及未列出的等20余种自定义widget。
2018-07-17 09:10:56 +08:00
4. 有线和无线网络自动连接管理器 (e-linux)
2018-04-09 14:23:28 +08:00
6. 解决Qt4.8.7在嵌入式屏幕上QGraphics系统不正常绘画的问题
2018-07-17 09:10:56 +08:00
7. QQt输入法
2018-07-21 19:37:59 +08:00
- 重写了UI适配多种屏幕
- 由于版权等一些原因这个模块在LibQQt 3.0的时候移除。
- 我制作了QQtInput库以提供输入法功能请用户到我的工程主页查看QQtInput工程。
8. Qt对象管理器
- 用于管理已经生成的Qt对象实例objectName是唯一查找索引。
- 含有QQtObjectFactory用于动态注册、生成来自QObject和QWidget的类。
2018-09-05 07:33:48 +08:00
9. 嵌入式视频播放器,模拟端口实时预览器
- *已经移动到独立的QQtMediaExtention库专门提供媒体功能主要是视频媒体。*
2018-04-09 14:23:28 +08:00
0. QQt打印机支持打印pdf
2. QQtWord支持doc文档编写输出pdf格式。
4. QQtTreeView添加Qt4内部没有TreeView
- 包括QQtXmlTreeModel、QQtJsonTreeModel、QQtFileSystemTreeModel、QQtSqlTreeModel
6. QQt通讯套件。
- 通讯口类
2018-07-07 22:24:09 +08:00
- QQtNfcClient、QQtNfcServer 支持近场通讯。
2018-04-09 14:23:28 +08:00
- QQtSerialPort 兼容QSerialPort and QextSerialPort
- [QQtTcpClient](src/network/qqttcpclient.h)、QQtTcpServer、QQtUdpClient、QQtUdpServer
- QQtBluetoothSocket、QQtBluetoothServer +QQtBluetoothManager
- QQtWebAccessManager支持http、ftp等主流协议高并发传输管理cookie和session。
2018-04-22 13:03:28 +08:00
- [QQtWebSocket](src/network/qqtwebsocketclient.h) 接口
2018-09-05 07:33:48 +08:00
- 一个句柄代表一个和外部通信的节点。
2018-04-22 13:03:28 +08:00
- 报文虚类(接口类) [QQtMessage](src/network/qqtmessage.h)
2018-09-05 07:33:48 +08:00
- 在协议里总是用这个报文的临时句柄,用来解协议包和压协议包。
- 协议虚类(接口类) [QQtProtocol](src/network/qqtprotocol.h) QQtWebSocketProtocol [QQtProtocolManager](src/network/qqtprotocolmanager.h)
- 程序业务代码就是依靠这个协议句柄进行通信工作的。
2018-04-09 14:23:28 +08:00
7. 添加应用中常用的form
2018-09-05 07:33:48 +08:00
- *全在frame文件夹*
2018-05-05 15:17:18 +08:00
8. 支持多页表格 [QQtMultiPageTableWidget](src/widgets/qqtmultipagetablewidget.h)
2018-04-09 14:23:28 +08:00
9. 添加 [QQtApplication](src/frame/qqtapplication.h)支持入门级、通用级、专用级嵌入式App所必须的初始化内容
5. 支持Qt5.9.2
2018-07-17 09:10:56 +08:00
- 建议桌面使用这个版本对三大桌面和IOS Android e-linux支持都很好。
2018-04-09 14:23:28 +08:00
0. 跨平台支持macOS、iOS、Android、Windows、Linux、MIPS、ARM等。
1. 添加矢量图形widgets
- 比如 QQtSvgProgressbar
- QQtSvgCheckBox
2018-04-22 13:03:28 +08:00
- [QQtSvgPushButton](src/exquisite/svgwidgets/qqtsvgpushbutton.h)
2018-04-09 14:23:28 +08:00
2. 添加核心类之[QQtDictionary](src/core/qqtdictionary.h)
- 化解C Plus Plus中没有字典类别的尴尬。
3. 添加Multi Link工程管理pri组
2018-05-26 16:13:46 +08:00
- [Multi Link technology](multi-link/add_multi_link_technology.pri),既多链接工程管理技术。
2018-06-05 22:15:08 +08:00
- [add_base_manager.pri](multi-link/multi-link/add_base_manager.pri)app和lib工程的基础管理者。
2018-04-09 14:23:28 +08:00
- 基于qmake用户可以轻易的链接LibQQt和添加自定义library。
2018-05-26 16:13:46 +08:00
- 工程版本变更可以使用add_version(1,0,0,0)实现了。
2018-04-09 14:23:28 +08:00
5. 升级多媒体音频
2018-09-05 07:33:48 +08:00
- 添加内存服务器一套InputReaderOutputWriter处理内存和设备之间的数据交互。这部分的功能完全按照为内存服务的思路设计研发。
2018-04-22 13:03:28 +08:00
- [QQtAudioManager](src/multimedia/qqtaudiomanager.h)、
2018-09-05 07:33:48 +08:00
- QQtWavAudioManager、QQtWavSoundEffect、QQtWavAudioInput、QQtWavAudioOutput、
2018-04-09 14:23:28 +08:00
- 将AudioDevice、wav输入输出文件当做一个设备进行读写App处理获取到的声音。
6. 添加Http功能支持工具
- QQtWebAccessManager支持管理Session、Cookies。
- 添加GumboQuery爬虫工具。
- 支持webservice (QtSoap)
2018-07-07 22:24:09 +08:00
8. 添加Qt没有的组件QQtTitleBar
- 可以组完全自定义的Form。
2018-09-05 07:33:48 +08:00
- 加上QQtOSDFrame、QQtOSDForm可以组透明Form。
2018-07-17 09:10:56 +08:00
8. **HighGrade** Module 增加新成员
- 难度高,谨慎使用。
- 线程间、进程间通信组件
2018-09-05 07:33:48 +08:00
- QQtSharedMemory实现可以跨线程、进程的变量却按照临时变量的方式使用。
- QQtLocalServer QQtLocalClient, QQtNamedPipe使用QLocalSocket、PIPE实现跨线程通讯。
2018-07-17 09:10:56 +08:00
- QQtLocalQueueServer QQtLocalQueueClient QQtMessageQueue使用QQtLocalQueueSocket实现跨线程通讯。
2018-07-13 15:42:29 +08:00
- 使用方法都类似于QQtSharedMemory。
2018-09-05 07:33:48 +08:00
- QQtSingleTonApplication 单例App基于QQtApplication利用基于QLocalSocket的进程间通信实现。
2018-05-05 15:17:18 +08:00
========================================================================
# 多链接发布技术
2018-05-20 19:45:33 +08:00
[Multiple Link Technology](multi-link.md)
2018-05-05 15:17:18 +08:00
LibQQt为方便用户开发App过程方便的发布程序所以添加了多链接和自动发布功能基于qmake工程管理器的多链接发布技术。
2018-08-25 09:01:36 +08:00
用户只需要为多链接技术做相应的目录设定,就可以自动发布应用、自动发布配置项目,自动发布依赖库。
多链接技术还包括添加设置版本,添加语言,添加程序图标,添加工程常用函数和工程基础配置设定,方便用户不必再进行复杂设置初始化。
多链接技术还包括为Lib工程发布SDK。
多链接技术提供的add_base_manager.pri只需要包含这一个pri文件用户就可以使用多链接技术很方便。
经过发布的App直接点击就可以运行*大的省去了用户手动发布App的劳烦过程。
2018-09-05 07:33:48 +08:00
*Multi-link提供ProductExecTool可以对产品集中调用运行、查看运行效果。*
2018-08-25 09:01:36 +08:00
*Multi-link提供SdkListTool方便用户查看已经准备好的SDK在各个平台准备情况的表格。*
2018-06-19 12:47:31 +08:00
*Multi-link提供AddLibraryTool方便用户通过准备好的SDK自动生成add_library_xxx.pri的链接环。*
2018-08-25 09:01:36 +08:00
*Multi-link提供AddLibraryTool-Multiple可以同时对多套SDK进行生成链接环。*
2018-06-19 12:47:31 +08:00
*Multi-link提供Multi-linkConfigTool方便用户配置Multi-link v2必需的三大路径build/sdk/deploy root。*
2018-08-25 09:01:36 +08:00
*LibQQt3.0基于Multi-link2.0发布用户使用LibQQt 3代表用户接受其工程管理工具Multi-link 2.*
2018-05-05 15:17:18 +08:00
2018-06-19 12:33:01 +08:00
========================================================================
# 版本分割
2018-07-17 09:10:56 +08:00
2018-09-05 07:33:48 +08:00
LibQQt R2支持Qt5 Qt4
LibQQt R3支持Qt5由于使用Multi-link 2不支持Qt4。
2018-07-17 09:10:56 +08:00
现在R3是master分支。
2018-06-19 12:33:01 +08:00
[版本划分图谱](changelog.md)
2018-05-05 15:17:18 +08:00
========================================================================
# 使用案例
[看入门用例截图](screenshot.md)
2018-01-21 16:49:37 +08:00
========================================================================
2017-12-18 13:59:31 +08:00
# 使用方法
2017-12-08 20:24:11 +08:00
2017-12-25 18:00:49 +08:00
在Windows平台上
*把LibQQt/extra/touch.exe 复制到C:\Windows*
*把LibQQt/extra/md5.exe 复制到C:\Windows*
2018-05-20 19:45:33 +08:00
[走,去看看入门用法](usage.md)
2018-04-16 15:51:18 +08:00
[入门了,去看看学习设置工程目录](project.md)
2018-04-24 11:45:39 +08:00
发现了一个问题: [new issue link](https://gitee.com/drabel/LibQQt/issues/new?issue%5Bassignee_id%5D=0&issue%5Bmilestone_id%5D=0)
2017-12-14 22:40:31 +08:00
2017-12-08 20:24:11 +08:00
2018-01-21 16:49:37 +08:00
========================================================================
2018-04-16 15:51:18 +08:00
# 依赖学习知识
2017-12-09 13:28:44 +08:00
2018-04-16 15:51:18 +08:00
[预习Git入门](usage-git.md)
2017-10-27 11:18:53 +08:00
2017-12-14 22:16:24 +08:00
2018-01-21 16:49:37 +08:00
========================================================================
2018-04-16 15:51:18 +08:00
# LibQQt百科
2017-12-14 22:16:24 +08:00
2018-04-16 15:51:18 +08:00
[跳转到LibQQt的百科知识页面](wiki/wiki.md "Wiki Page")
2018-05-04 16:15:35 +08:00
[阅读我的LibQQt博客进行一系列的学习](http://blog.csdn.net/Dr_Abel)
[LibQQt视频图说](http://v.youku.com/v_show/id_XMzUzODQ4MTczMg==.html?spm=a2hzp.8244740.0.0)
2018-04-16 15:51:18 +08:00
[学会了使用那么认识LibQQt吧](doc/knowledge-about-libQQt.md)
2018-01-09 18:10:03 +08:00
2018-01-12 22:30:17 +08:00
2018-03-01 12:23:28 +08:00
========================================================================
2018-01-12 22:30:17 +08:00
# 联系我
邮箱: tianduanrui@163.com
QQ: 2657635903
2018-03-01 12:23:28 +08:00
2018-01-21 16:49:37 +08:00
2018-03-02 20:37:28 +08:00
========================================================================
# 用户使用协议
[LibQQt用户使用协议](licence.md)
2018-01-21 16:49:37 +08:00
========================================================================
2018-03-01 12:23:28 +08:00
# 收费处
2018-01-21 16:49:37 +08:00
2018-03-01 12:23:28 +08:00
[LibQQt收费处](charge.md)
========================================================================
2018-01-21 16:49:37 +08:00
# 项目标识
2018-01-26 10:24:47 +08:00
![logo](screenshot/logo.png "Logo")
2018-01-23 19:43:38 +08:00