/CatLearnQt

CatLearnQt,提供QWidget,Quick,网络,串口,基础库和示例。案例软件支持样式切换,与国际化。

Primary LanguageC++GNU General Public License v3.0GPL-3.0

目录

English description

CatLearnQt

CatLearnQt 记录自己学习Qt过程.

CatLearnQt是根据GPL v3许可发行,如果您使用CatLearnQt或其组成库,则必须遵守相关许可条款。

项目地址

镜像仓库 地址
GitHub Github
Gitee Gitee
CodeChina CodeChina

徽章预览

项目

最佳实践计划 许可 在线社区
CII-badge license-badge Gitter

编译

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

开发环境

  • Qt5.12以上

  • 支持qt5.15

项目根目录说明

目录 说明 备注
doc 文档目录 保存了项目所需的文档,描述了各个平台的配置,以及项目模块说明等。
GrayCatQt GrayCatQt模块 提供了基于QWidget,QGraphicsView自定义控件集。
GrayCatQtQuick GrayCatQtQuick模块 提供了基于Quick,Qml实现的自定义控件集合。
GrayCatQtCore GrayCatQtCore模块 提供了串口,网络,蓝牙,日志,线程等模块。
Examples 模块集成演示项目 该项目以QWidget为基础开发,演示了QWidget,QQuickWidget,QGraphicsView等模块的项目。
scripts 脚本文件路径 持续集成相关配置,用于自动化构建、发布所需要的脚本,提供qml库裁剪脚本
.github github-Actions配置 持续集成相关配置,用于自动化构建、发布

核心库

说明链接
GrayCatQt 提供了基于QWidget,QGraphicsView自定义控件集。
GrayCatQtQuick 提供了基于Quick,Qml模块与控件集
GrayCatQtCore 提供了串口,网络,蓝牙,日志,线程等模块。
GrayFramelesshelper 跨平台无边框模块。

使用核心库

GrayCatQt
qmake
  • pri文件用法

使用该核心库只需要导入,模块文件夹下的'.pri'文件

GrayCatYa需要使用的资源将以qrc资源方式被引用,注意资源的路径名,不要跟新的qrc资源文件重路径。

导入pri后不需要额外的编译,生成dll或插件

步骤

include(GrayCatQt/GrayCatQt.pri)
  • pro文件用法

如果需要编译成库,打开GrayCatQt目录下的pro文件编译即可。

cd GrayCatQt
qmake GrayCatQt.pro
cmake
  1. 先拷贝module文件夹到你项目目录下,这里面有cmake要用到的模块
# 在你的CMakeLists.txt中使用该模块
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/module/cmake")
include(GrayCatQt)
  1. 拷贝GrayCatQt到你项目目录下,注意它跟module文件在同级目录
# 在你的CMakeLists.txt中使用该模块
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/GrayCatQt GrayCatQt.out)
GrayCatQtQuick
qmake
  • pri文件用法

使用该核心库只需要导入,模块文件夹下的'.pri'文件

GrayCatQtQuick需要使用的资源将以qrc资源方式被引用,注意资源的路径名,不要跟新的qrc资源文件重路径。

导入pri后不需要额外的编译,生成dll或插件

步骤

include(GrayCatQtQuick/GrayCatQtQuick.pri)
  • pro文件用法

如果需要编译成库,打开GrayCatQtQuick目录下的pro文件编译即可。

cd GrayCatQtQuick
qmake GrayCatQtQuick.pro
cmake
  1. 先拷贝module文件夹到你项目目录下,这里面有cmake要用到的模块
# 在你的CMakeLists.txt中使用该模块
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/module/cmake")
include(GrayCatQt)
  1. 拷贝GrayCatQtQuick到你项目目录下,注意它跟module文件在同级目录
# 在你的CMakeLists.txt中使用该模块
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/GrayCatQtQuick GrayCatQtQuick.out)
GrayCatQtCore
qmake
  • pri文件用法

使用该核心库只需要导入,模块文件夹下的'.pri'文件

导入pri后不需要额外的编译,生成dll或插件

步骤

include(GrayCatQtCore/GrayCatQtCore.pri)
  • pro文件用法

如果需要编译成库,打开GrayCatQtCore目录下的pro文件编译即可。

cd GrayCatQtCore
qmake GrayCatQtCore.pro
cmake
  1. 先拷贝module文件夹到你项目目录下,这里面有cmake要用到的模块
# 在你的CMakeLists.txt中使用该模块
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/module/cmake")
include(GrayCatQt)
  1. 拷贝GrayCatQtCore到你项目目录下,注意它跟module文件在同级目录
# 在你的CMakeLists.txt中使用该模块
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/GrayCatQtCore GrayCatQtCore.out)
GrayFramelesshelper
qmake
  • pri文件用法

使用该核心库只需要导入,模块文件夹下的'.pri'文件

步骤

include(GrayFramelesshelper/GrayFramelesshelper.pri)
cmake
  1. 拷贝GrayFramelesshelper到你项目目录下
# 在你的CMakeLists.txt中使用该模块
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/GrayFramelesshelper GrayFramelesshelper.out)

Examples 项目

目录 说明
Examples/CatQuickExamples 基于Quick版项目演示
Examples/CatWidgetExamples Widgdet版项目演示
Examples/CatWidgetWebAssEmblyExamples CatWidgetExamples裁减版WebAssmbly版项目演示
Examples/MetroDemo 基于Quick实现惠州地铁案例
Examples/CatSerialServer 跨平台串口服务进程

CatQuickExamples效果预览

控件列表
控件 说明
ImageFlipable 图片翻转
ImageFlicker 图片闪烁
ImageFlickerGradient 图片闪烁渐进式
ImageMove 图片移动
ImageScale 图片缩放
Marquee 文字滚动,弹幕
TextOneByOneShow 文字逐个显示
CatRectangle 自定义圆角矩形,可单圆角
QParentQrenCode qml二维码
CatCalendar 日历模块
Image3dRotation 图片3d旋转
CatECharts WebEngine演示ECharts图表
CatSideColumn 滑动侧栏
CatSorter 分页器
TableView 表格控件
CatTreeView 树形控件
效果演示

QuickExamples_0

QuickExamples_1

QuickExamples_2

Figma原型

CatQuickExamples_Figma

CatWidgetExamples效果预览

  • 基于Widget设计的控件

widgetdemo

  • 基于QGraphicsView画板控件演示

boarddemo

  • 基于QQuickWidget控件演示

quickwidgetdemo

  • 设置相关

settingdemo

MetroDemo惠州地铁案例效果预览

在线演示(https://graycatya.gitee.io/webassemblyExample/MetroDemo/MetroDemo.html)

metrodemo