• Stars
    star
    1,285
  • Rank 36,615 (Top 0.8 %)
  • Language QML
  • License
    MIT License
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

a cool QtQuick/qml component library and demo(一套酷炫的QtQuick/Qml基础库和示例)

简体中文


Contents

TaoQuick

This is a QtQuick/Qml Component library, integrated some commonly used QtQuick components, and

make the appropriate function expansion to facilitate development of Qml applications.

Badge preview

Project

Best Practices plan License
CII-badge license-badge

Qt marketplace

https://marketplace.qt.io/collections/newest/products/taoquick

Build

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

Release

Released Download Download count
release-badge download-badge download-latest

Repository status

Tag Languages Top Language code size repo size
tag-latest languanges taolanguage code-size repo-size

Issue

Issues pull request
issuse-badge pull-request

Other status

commit freq last commit date forks stars
commit-active commit-latest release-date forks-badge stars-badge

Some Demo Preview

Main Page

Change Skin

Multi-Language

Some Button Controls

Data entry Controls

Table Controls

ListView with tab

Rect Drag Controls

Wizard

Mouse Click Effect

Atom Joggle

ShaderToy-Snail

ShaderToy-SuperMario

Environment

  • Qt 5.9

  • Qt 5.12

  • Qt 5.15

  • Qt6.2 (at branch qt6)

Project Struct

Project Struct as flow:

echo content as table:

Content Reference Remark
src TaoQuick Core Library some qml code, picture and scripts for support designer, not has c++ code
exampes some demo show how to use TaoQuick Core Library
3rdparty thrid party library
mkspecs qmake extern
.github github-actions CI CD

TaoQuick Core Library

Core Library source code path:

src/TaoQuick/Qml

Content:

To avoid confusion with Qt default components, TaoQuick components names all begin with Cus (The abbreviation of Custom)

CusConfig is global configuration, mainly contain font、 theme and so on, all components are displayed in this configuration

Other Contents reference to above table:

Content Reference Remark
Basic Basic Controls such as Text, ToolTip, It is used to unify the basic components in the whole project and facilitate the global replacement when the project becomes huge
CusBackground A simple background box it is usually placed at the beginning of the program to absorb mouse focus from the white space
CusButton button Some commonly used buttons have been encapsulated, and various effects can be customized again
CusCheckBox CheckBox
CusComboBox ComboBox
CusImage Basic Image
CusInput Input
CusLabel Label
CusListView List Simaple custom scrollbars
CusPopup Popup
CusScroll ScrollBar
CusSlider Slider
CusSpinBox SpinBox
CusTable Table It needs to be used with specific C++ model to support the selection, check, draw rect selection, anti-selection, continuous selection and all selection
Effect Effect Animation、PageSwitch and ShaderToy
Misc Others

Use TaoQuick

get code

git clone https://github.com/jaredtao/TaoQuick.git
cd TaoQuick 

qmake

You just need import '.pri' file to project and add import Path to QmlEngine, TaoQuick will be use as local file or qrc resource.

Compared with 'Qml module' and 'Qml C++ plugin', this usage has the following advantages:

  • After importing '.pri', no additional compile, generation of dll or plugin are required

  • No additional copy resources are required to deployment the program

  • After importing '.pri', Qt Creater can support TaoQuick Qml code highlighting and double-clicking the Follow symbol

  • After import the module 'import TaoQuick 1.0' in Qml, you can use the TaoQuick component in The Designer mode of Qt Creater by dragging or visual property editor.(principle: Generate metainfo required by Designer via some script)

detail use step:

  1. copy 'TaoQuick' directory and 'TaoQuick.pri' file from TaoQuick/src to your project

  2. Import 'TaoQuick.pri' files in your project 'pro' file

for eaxmple:

include(TaoQuick.pri)

TaoQuick.pri will define a MACRO: TaoQuickImportPath.

Debug mode will use TaoQuick as local file, and release mode for qrc resource.

  1. add import path in cpp

Before load source qml, TaoQuick need add import path to QmlEngine and set imagePath to context.

if use QQuickView, TaoQuick can be use as flow:

    view.engine()->addImportPath(TaoQuickImportPath);
    view.rootContext()->setContextProperty("taoQuickImportPath", TaoQuickImportPath);

if use QmlEngine, TaoQuick can be use as flow:

    engine.addImportPath(TaoQuickImportPath);
    engine.rootContext()->setContextProperty("taoQuickImportPath", TaoQuickImportPath);

cmake

TaoQuick start support cmake after version 0.5.0 , it's same as qmake.

detail use step:

  1. copy 'TaoQuick' directory and 'taoQuick.cmake' file from TaoQuick/src to your project

  2. Import 'taoQuick.cmake' files in your project 'CMakeLists.txt' file

include(taoQuick.cmake)

taoQuick.cmake will define a MACRO: TaoQuickImportPath.

Debug mode will use TaoQuick as local file, and release mode for qrc resource.

Release mode taoQuick.cmake also define a MACRO TaoQuickRes, that location to qrc file.

your project should add TaoQuickRes to executable, like this:

if (CMAKE_BUILD_TYPE MATCHES "Release")
    add_executable(MyApp ${someSource} ${TaoQuickRes})
else()
    add_executable(MyApp ${someSource})
endif()
  1. add import path in cpp

Before load source qml, TaoQuick need add import path to QmlEngine and set imagePath to context.

if use QQuickView, TaoQuick can be use as flow:

    view.engine()->addImportPath(TaoQuickImportPath);
    view.rootContext()->setContextProperty("taoQuickImportPath", TaoQuickImportPath);

if use QmlEngine, TaoQuick can be use as flow:

    engine.addImportPath(TaoQuickImportPath);
    engine.rootContext()->setContextProperty("taoQuickImportPath", TaoQuickImportPath);

Sponsorship

If you feel the share content is good, treat the author a drink.

it's WeChat Pay and Alipay

More Repositories

1

DesignPattern

C++11全套设计模式-23种指针的用法(a full DesignPattern implement with c++11)
C++
908
star
2

HelloActions-Qt

Qt use github-actions(Qt项目使用github的持续集成)
PowerShell
145
star
3

QtOpenGL

some Qt OpenGL Demo
C++
116
star
4

TableEdit

qml TableView 表格编辑器
QML
106
star
5

TaoLogger

Qt自制简易好看的日志系统(Implement a simple and beautify log system with Qt )
C++
92
star
6

TreeEdit

Qml TreeEdit with Controls2 (Qml树结构编辑器,使用Controls2实现)
QML
65
star
7

QmlFFmpegPlayer

ffmpeg decode, Qml/opengl convert yuv to rgb and render
C
64
star
8

Qt3D-learn

Qt3D-learn
QML
43
star
9

TaoCommon

整理的一些常用后端Qt代码段
C++
29
star
10

QtWeb

Qt with Web
C++
25
star
11

MulitProcessTab

Qt 多进程标签页 MulitProcess Tab
C++
24
star
12

HelloCI

持续集成教程 Travis-Qt Appveyor-Qt github-Action
QMake
15
star
13

QmlAssimp

Qml and Assimp render 3D model
C++
15
star
14

TaoShaderToy

transplant ShaderToy to Qml with ShaderEffect . Support Android
QML
14
star
15

TaoQuickPreview

TaoQuick Preview (TaoQuick项目的预览效果,单独放置)
13
star
16

MulitThreadTCP

Qt多线程TCP
C++
12
star
17

UniqueApp

UniqueApp Qt 全局唯一APP实例
C++
9
star
18

QObject2TypeScript

QObject convert to TypeScript
C++
9
star
19

Transer

自动翻译器
Go
9
star
20

TaoModule

Qml模块简单示例(Qml Module Sample Demo)
QMake
7
star
21

QtSsh

QtSsh
C++
6
star
22

HelloDirectX

HelloDirectX
C++
6
star
23

I18n

Qt 5.10 qml dynamic mulit Language translate
C++
5
star
24

Processbar

QtWidget ProcessBar
C++
5
star
25

ChineseToArab

中文数字转阿拉伯数字
C++
3
star
26

Dashboard

Dashboard
C++
3
star
27

LianLianKan

Qt qml 连连看
C
2
star
28

PlaneFight

飞机大战-王校长吃面包版
C++
2
star
29

jaredtao

jaredtao
2
star
30

jaredtao.github.io

jared blog
HTML
2
star
31

CalcRow

CalcRow golang代码行数统计
Go
1
star
32

TaoQuick.Net

TaoQuick for .Net
QML
1
star
33

Breakout

Qt打砖块 Breakout
QML
1
star