Skip to content

Latest commit

 

History

History
354 lines (232 loc) · 10.6 KB

README_English.md

File metadata and controls

354 lines (232 loc) · 10.6 KB

Directory

中文说明

CatLearnQt

CatLearnQt Record your own learning Qt process.

CatLearnQt is released under the GPL v3 license. If you use CatLearnQt or its component libraries, you must abide by the relevant license terms.

Project Address

Mirro Repo Address
GitHub Github
Gitee Gitee
CodeChina CodeChina

Badge Preview

Project

BestPracticePlan License OnlineCommunity
CII-badge license-badge Gitter

Compile

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

DevelopmentEnvironment

  • Qt5.12 and above

  • Support qt5.15

ProjectDescription

Directory Explanation Remark
doc Document Directory Save the documents required by the project, describe the configuration of each platform, and the project moduleExplanation, etc.
GrayCatQt GrayCatQt module Provides a set of custom controls based on QWidget and QGraphicsView.
GrayCatQtQuick GrayCatQtQuickmodule Provides a collection of custom controls based on Quick and Qml.
GrayCatQtCore GrayCatQtCoremodule Provides modules such as serial port, network, Bluetooth, log, thread, etc.
Examples Module Integrated demo project This project is developed on the basis of QWidget and demonstrates the projects of modules such as QWidget, QQuickWidget, QGraphicsView, etc.
scripts Script file path Continuous integration related configuration, used to automate the construction and release of scripts, and provide qml library tailoring scripts
.github github-Actions configuration Continuous integration related configuration for automated construction and release

CoreLibrary

Library Explanation link
GrayCatQt Provides a set of custom controls based on QWidget and QGraphicsView.
GrayCatQtQuick Provides based on Quick,Qml and control set
GrayCatQtCore Provides modules such as serial port, network, Bluetooth, log, thread, etc.
GrayFramelesshelper A cross-platform frameless module.

How to use Core Library

GrayCatQt
qmake
  • Usage of pri file

Use the core library only need to import, the'.pri' file under the module folder

The resources that GrayCatYa needs to use will be quoted in the form of qrc resources. Pay attention to the path name of the resource, and do not re-path with the new qrc resource file.

After importing pri, no additional compilation is required to generate dll or plug-in

Steps

include(GrayCatQt/GrayCatQt.pri)
  • Usage of pro file

If you need to compile into a library, open the pro file in the GrayCatQt directory and compile it.

cd GrayCatQt
qmake GrayCatQt.pro
cmake
  1. First copy the module folder to your project directory, there are modules used by cmake
# Use the module in your CMakeLists.txt
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/module/cmake")
include(GrayCatQt)
  1. Copy GrayCatQt to your project directory, and note that it is at the same level as the module file
# Use the module in your CMakeLists.txt
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/GrayCatQt GrayCatQt.out)
GrayCatQtQuick
qmake
  • Usage of pri file

Use the core library only need to import, the'.pri' file under the module folder

The resources that GrayCatQtQuick needs to use will be quoted as qrc resources. Pay attention to the path name of the resource and do not re-path with the new qrc resource file.

After importing pri, no additional compilation is required to generate dll or plug-in

Steps

include(GrayCatQtQuick/GrayCatQtQuick.pri)
  • Usage of pro file

If you need to compile into a library, open the pro file in the GrayCatQtQuick directory and compile it.

cd GrayCatQtQuick
qmake GrayCatQtQuick.pro
cmake
  1. First copy the module folder to your project directory, there are modules used by cmake
# Use the module in your CMakeLists.txt
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/module/cmake")
include(GrayCatQt)
  1. Copy GrayCatQtQuick to your project directory, note that it is at the same level as the module file
# Use the module in your CMakeLists.txt
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/GrayCatQtQuick GrayCatQtQuick.out)
GrayCatQtCore
qmake
  • Usage of pri file

Use the core library only need to import, the'.pri' file under the module folder

After importing pri, no additional compilation is required to generate dll or plug-in

Steps

include(GrayCatQtCore/GrayCatQtCore.pri)
  • Usage of pro file

If you need to compile into a library, open the pro file in the GrayCatQtCore directory and compile it.

cd GrayCatQtCore
qmake GrayCatQtCore.pro
cmake
  1. First copy the module folder to your project directory, there are modules used by cmake
# Use the module in your CMakeLists.txt
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/module/cmake")
include(GrayCatQt)
  1. Copy GrayCatQtCore to your project directory, and note that it is at the same level as the module file
# Use the module in your CMakeLists.txt
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/GrayCatQtCore GrayCatQtCore.out)
GrayFramelesshelper
qmake
  • Usage of pri file

Use the core library only need to import, the'.pri' file under the module folder

Steps

include(GrayFramelesshelper/GrayFramelesshelper.pri)
cmake
  1. First copy the module folder to your project directory, there are modules used by cmake
# Use the module in your CMakeLists.txt
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/GrayFramelesshelper GrayFramelesshelper.out)

ExamplesProject

Directory Explanation
Examples/CatQuickExamples Based on the Quick version of the project demo
Examples/CatWidgetExamples Widgdet version project demo
Examples/CatWidgetWebAssEmblyExamples CatWidgetExamples cut version WebAssmbly version project demo
Examples/MetroDemo Implement HuizhouMetroCase based on Quick
Examples/CatSerialServer Cross-platform serial port service process

CatQuickExamplesEffectPreview

Controls
Controls Explanation
ImageFlipable Flip picture
ImageFlicker Flash picture
ImageFlickerGradient Picture flashing progressive
ImageMove Move picture
ImageScale zoom picture
Marquee Text scroll, barrage
TextOneByOneShow Show text one by one
CatRectangle Custom rounded rectangle, single rounded corner
QParentQrenCode qml QR code
CatCalendar Calendar module
Image3dRotation Picture 3d rotation
CatECharts WebEngine demo ECharts chart
CatSideColumn Sliding sidebar
CatSorter Sorter
TableView Form control
CatTreeView Tree control
Demo

QuickExamples_0

QuickExamples_1

QuickExamples_2

FigmaPrototype

CatQuickExamples_Figma

CatWidgetExamplesEffectPreview

  • Widget-based controls

widgetdemo

  • Demo based on QGraphicsView drawing board control

boarddemo

  • Demo based on QQuickWidget control

quickwidgetdemo

  • Settings related

settingdemo

MetroDemo_HuizhouMetroCaseEffectPreview

Online Demo(https://graycatya.gitee.io/webassemblyExample/MetroDemo/MetroDemo.html)

Metro Demo