1
0
mirror of https://github.com/jaredtao/TaoQuick.git synced 2025-01-31 21:22:58 +08:00
2021-05-20 09:50:56 +08:00
..
2021-04-23 09:53:44 +08:00
2021-04-23 09:53:44 +08:00
2021-04-23 09:53:44 +08:00
2021-05-20 09:50:56 +08:00
2021-04-23 09:53:44 +08:00
2021-04-23 09:53:44 +08:00
2021-04-23 09:53:44 +08:00
2021-04-23 09:53:44 +08:00
2021-04-23 09:53:44 +08:00
2021-04-23 09:53:44 +08:00
2021-04-23 09:53:44 +08:00
2021-04-23 09:53:44 +08:00
2021-04-23 09:53:44 +08:00
2021-04-23 09:53:44 +08:00
2021-04-23 09:53:44 +08:00

TaoCommon

简介

收集一些常用的Qt后端代码以便以后复用。

必须是经过实际项目验证过的。

github原始仓库https://github.com/jaredtao/TaoCommon

gitee镜像仓库https://gitee.com/jaredtao/TaoCommon

CI

Windows Ubuntu MacOS Android IOS
win-badge ubuntu-badge macos-badge android-badge ios-badge

内容

按文件夹分类

Logger

日志模板,来自TaoLogger项目

Thread

Qt多线程模板来自TaoThread项目

包括对Qt的Worker-Controller多线程模型的封装。

Common

一些通用的代码段。

文件名 功能
FileReadWrite.h 文件读写、Json读写
Package.h 简易socket数据封包、拆包
JsonSerialize.h json序列化 反序列化的一些宏
PropertyHelper.h 快速生成Q_PROPERTY的一些宏
Subject.h 观察者模板
ObjectMap.h 对象存储器;优先级对象存储器。主要用来实现 "依赖注入"

可以参考TaoQuick项目

FrameLess

简易的无边框窗口支持Windows Areo 效果

可以参考TaoQuick项目

Trans

Qt动态翻译。

加载自定义json格式的翻译文件。

为动态切换语言做支撑。

对于QWidget可以正常用。

对于Qml Qt5.10以前通过trans.transString的方式触发动态切换语言5.10以后直接调用reTranslate

可以参考TaoQuick项目

TaoModel

自定义ListModel为大数据表格结构和树结构提供支持。

可以参考TaoQuick项目


使用方式

用法(1) -- 使用源码

直接在你的项目中包含TaoCommon.pri文件

include(TaoCommon/src/TaoCommon/TaoCommon.pri)

你可以将"TaoCommon/src/TaoCommon"路径中的最内层的TaoCommon文件夹拷贝到任意位置

在你的项目中添加对应位置的TaoCommon.pri, 使用的地方包含头文件即可。

可以参考示例 demo/CommonWithSource

用法(2) -- 作为Qt模块安装

TaoCommon本身是一个Qt模块可以通过make install的方式直接安装进QTDIR.

(Qt模块需要安装perl)

只需要执行以下命令:

qmake
make
make install

也可以通过QtCreator执行安装:

打开TaoCommon项目在 QtCreator的 "项目->Build 步骤" 中,添加一个 make install步骤进行安装。

安装完成后在你的项目pro文件中增加 QT += TaoCommon即可导入模块,使用的地方包含头文件即可。

注意编译TaoCommon所使用的Qt版本要和你的项目使用的版本相同否则会找不到模块。

可以参考示例 demo/CommonWithModule

发布程序时需要带上QTDIR/bin/TaoCommon.dll

两种用法的对比

以源码的方式使用,优点是方便,缺点是会增加编译时间。

以Qt模块的方式使用优点是不用每次都编译缺点是要注意Qt版本一致性且发布时要带上dll。

cmake 使用源码

将TaoCommon路径添加到cmake中使用add_subdirectory指令

add_subdirectory(${CMAKE_SOURCE_DIR}/3rdparty/TaoCommon ${CMAKE_SOURCE_DIR}/build/3rdparty/TaoCommon)

添加此路径,能够获得两个宏定义TaoCommonPath 和 TaoCommonFiles

TaoCommonPath添加到头文件路径 TaoCommonFiles添加到execulate的

示例如下:

add_executable(${TargetName}
        ${OtherSourceFiles}
        ${TaoCommonFiles}
        )
target_include_directories(${TargetName} PUBLIC . ${TaoCommonPath})

联系作者

作者:武威的涛哥

欢迎联系我,乐于提供技术咨询服务,可洽谈技术支持、商业合作。

邮箱: jared2020@163.com

微信: xsd2410421

QQ: 759378563


关注作者动态

欢迎关注涛哥的微信公众号: Qt进阶之路

不定期分享Qt相关的高质量教程


寻找同道中人

欢迎加入涛哥的QQ群: Qt进阶之路

此群是高质量群Qt界大佬众多不灌水闲聊日常交流技术、分享书籍、帮助解决实际问题。

1群734623697

2群342341405


赞助

觉得分享的内容还不错, 就请作者喝杯奶茶吧~~

赞助列表

感谢以下网友的赞助与支持(排名不分先后)

hxhlb (花心胡萝卜工作室)

咸鱼猴

Qt侠-刘典武

一去、二三里

大樹

丝绸-郑天佐

寒山-居士

小风电子

Qt君

海盗船

雨田哥

游龙

Rj

重庆-胡某某

Ivy

孙十一少

田宇

power

敢敢

扣脚翁

白菜豆腐

甜不辣

Mr.Hu

秾芳教主

焖哥

蓝色幻想

Martin Zuo

windsmoon

小手冰凉

永远=没有终点

我是王大狗

米粒旅行