All Projects → jaredtao → Taoquick

jaredtao / Taoquick

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

Projects that are alternatives of or similar to Taoquick

Awesome Qt Qml
A curated list of awesome Qt and QML libraries, resources, projects, and shiny things.
Stars: ✭ 1,118 (+132.43%)
Mutual labels:  qtquick, qt, qt5, qml
mini-qml
Minimal Qt deployment for Linux, Windows, macOS and WebAssembly.
Stars: ✭ 44 (-90.85%)
Mutual labels:  qml, appveyor, qt5, travis
Autoannotationtool
A label tool aim to reduce semantic segmentation label time, rectangle and polygon annotation is supported
Stars: ✭ 113 (-76.51%)
Mutual labels:  qtquick, qt, qt5, qml
Qml Box2d
Box2D QML plugin
Stars: ✭ 223 (-53.64%)
Mutual labels:  qtquick, qt, qt5, qml
Osgqtquick
Intergation OpenSceneGraph to Qt Quick
Stars: ✭ 53 (-88.98%)
Mutual labels:  qtquick, qt, qt5, qml
Spix
UI test automation library for QtQuick/QML Apps
Stars: ✭ 48 (-90.02%)
Mutual labels:  qtquick, qt, qt5, qml
Scihubeva
A Cross Platform Sci-Hub GUI Application
Stars: ✭ 683 (+42%)
Mutual labels:  qtquick, qt, qt5, qml
QDashBoard
Sample dashboard developed with QML. Login, plots and several screens.
Stars: ✭ 34 (-92.93%)
Mutual labels:  qt, qml, qt5, qtquick
Qaterial
🧩 Collection of Material Components based on QtQuickControls2.
Stars: ✭ 110 (-77.13%)
Mutual labels:  qtquick, qt, qml
qml-ar
Seamless Augmented Reality module for QML using UchiyaMarkers
Stars: ✭ 32 (-93.35%)
Mutual labels:  qml, qt5, qtquick
QtMobileApp
This repository contains basic template for Qt for mobile app development using QML and C++ as backend to access RESTful API's
Stars: ✭ 16 (-96.67%)
Mutual labels:  qml, qt5, qtquick
Kaidan
[Replaced by https://invent.kde.org/network/kaidan] Kaidan, a simple and user-friendly Jabber/XMPP client for every device and platform.
Stars: ✭ 67 (-86.07%)
Mutual labels:  qtquick, qt5, qml
vatsinator-legacy
An open-source Vatsim monitor
Stars: ✭ 12 (-97.51%)
Mutual labels:  qml, qt5, qtquick
pardus-store
Pardus Application Store
Stars: ✭ 32 (-93.35%)
Mutual labels:  qml, qt5, qtquick
CatLearnQt
CatLearnQt,提供QWidget,Quick,网络,串口,基础库和示例。案例软件支持样式切换,与国际化。
Stars: ✭ 63 (-86.9%)
Mutual labels:  qml, qt5, qtquick
maxLibQt
A collection of C++ classes and QtQuick QML components for use with the Qt framework.
Stars: ✭ 18 (-96.26%)
Mutual labels:  qml, qt5, qtquick
QtIosCMake
📱 Deploy Qt Application for iOS with a single macro when using CMake.
Stars: ✭ 35 (-92.72%)
Mutual labels:  qml, qt5, qtquick
QuickStreams
An asynchronous programming library for the QML programming language (Proof of Concept)
Stars: ✭ 42 (-91.27%)
Mutual labels:  qml, qt5, qtquick
Slate
Pixel Art Editor
Stars: ✭ 723 (+50.31%)
Mutual labels:  qtquick, qt, qt5
QtDemos
This is a demo about Qt5, including Qt Custom Widget, Qt Multithreaded Downloader, QML Video Player(using OpenGL, FFmpeg and SDL2)
Stars: ✭ 18 (-96.26%)
Mutual labels:  qml, qt5, qtquick

简体中文


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

Rect Drag Controls

Wizard

ShaderToy-Snail

ShaderToy-SuperMario

Environment

  • Qt 5.9.0 or later

  • compatibility Qt5.15

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/imports/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://githun.com/jaredtao/TaoQuick.git
cd TaoQuick 
git submodule update --init

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 src/TaoQuick to your project, in any location

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

for eaxmple:

include(TaoQuick/TaoQuick.pri)

or

include(src/TaoQuick/imports/imports.pri)

TaoQuick.pri will define two MACRO: TaoQuickImportPath and TaoQuickImagePath.

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("taoQuickImagePath", TaoQuickImagePath);

if use QmlEngine, TaoQuick can be use as flow:

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

cmake

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

detail use step:

  1. copy src/TaoQuick to your project, in any location

  2. copy cmake/taoQuick.cmake to your project, in any location

and make sure the first line of taoQuick.cmake location to correct TaoQuick path

  1. add cmake extern path in your CMakeLists.txt

add extern path:

  SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

then load taoQuick by 'include'

include(taoQuick)

taoQuick.cmake will define two MACRO: TaoQuickImportPath and TaoQuickImagePath.

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("taoQuickImagePath", TaoQuickImagePath);

if use QmlEngine, TaoQuick can be use as flow:

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

Sponsorship

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

it's WeChat Pay and Alipay

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].