Convert Figma logo to code with AI

jaredtao logoTaoQuick

a cool QtQuick component library (一套酷炫的QtQuick基础库)

1,445
375
1,445
9

Top Related Projects

2,560

The source code for the upcoming qml book

A curated list of awesome Qt and QML libraries, resources, projects, and shiny things.

Quick Overview

TaoQuick is a Qt/QML component library designed to simplify the development of cross-platform applications. It provides a collection of custom QML components and utility functions, aiming to enhance the efficiency and aesthetics of Qt-based user interfaces.

Pros

  • Rich set of pre-built QML components for rapid UI development
  • Cross-platform compatibility (Windows, Linux, macOS, Android, iOS)
  • Comprehensive documentation and examples
  • Active development and community support

Cons

  • Requires familiarity with Qt and QML
  • May have a learning curve for developers new to Qt ecosystem
  • Some components might not fit all design requirements out-of-the-box
  • Dependency on Qt framework limits use in non-Qt projects

Code Examples

  1. Creating a custom button:
import TaoQuick 1.0

TButton {
    width: 120
    height: 40
    text: "Click Me"
    onClicked: console.log("Button clicked!")
}
  1. Using a loading indicator:
import TaoQuick 1.0

CusLoading {
    width: 100
    height: 100
    running: true
}
  1. Implementing a custom dialog:
import TaoQuick 1.0

CusDialog {
    title: "Confirmation"
    content: "Are you sure you want to proceed?"
    onAccepted: console.log("User accepted")
    onRejected: console.log("User rejected")
}

Getting Started

  1. Clone the TaoQuick repository:

    git clone https://github.com/jaredtao/TaoQuick.git
    
  2. Add TaoQuick to your project's .pro file:

    include(path/to/TaoQuick/TaoQuick.pri)
    
  3. Import TaoQuick in your QML files:

    import TaoQuick 1.0
    
  4. Start using TaoQuick components in your QML:

    TaoQuickApp {
        // Your app content here
    }
    

Competitor Comparisons

2,560

The source code for the upcoming qml book

Pros of qmlbook

  • Comprehensive educational resource for learning QML
  • Covers a wide range of QML topics and concepts
  • Regularly updated with new content and examples

Cons of qmlbook

  • Primarily focused on documentation rather than providing reusable components
  • May not offer as many ready-to-use UI elements for rapid development

Code comparison

TaoQuick:

import TaoQuick 1.0

TaoButton {
    text: "Click me"
    onClicked: console.log("Button clicked")
}

qmlbook:

import QtQuick 2.12
import QtQuick.Controls 2.12

Button {
    text: "Click me"
    onClicked: console.log("Button clicked")
}

The code comparison shows that TaoQuick provides custom components (like TaoButton) with pre-built styling and functionality, while qmlbook focuses on teaching standard QML components and best practices.

TaoQuick is more suitable for developers looking for a ready-to-use UI component library, while qmlbook is better for those wanting to learn QML from the ground up and understand its core concepts.

A curated list of awesome Qt and QML libraries, resources, projects, and shiny things.

Pros of awesome-qt-qml

  • Comprehensive collection of Qt/QML resources and libraries
  • Regularly updated with community contributions
  • Covers a wide range of topics and use cases

Cons of awesome-qt-qml

  • Lacks actual code implementations or examples
  • Not a ready-to-use framework or component library
  • May require additional research to find suitable solutions

Code Comparison

TaoQuick provides ready-to-use QML components:

import TaoQuick 1.0

TButton {
    text: "Click me"
    onClicked: console.log("Button clicked")
}

awesome-qt-qml doesn't contain code, but links to resources:

## UI Components
- [QML Material](https://github.com/papyros/qml-material) - Material Design implemented in QML
- [Fluid](https://github.com/lirios/fluid) - Cross-platform QtQuick components for building fluid and dynamic applications

Summary

TaoQuick is a practical QML component library with ready-to-use elements, while awesome-qt-qml serves as a curated list of Qt/QML resources. TaoQuick is more suitable for developers looking for immediate implementation, whereas awesome-qt-qml is better for those seeking a variety of tools and libraries to explore.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

简体中文


Contents

TaoQuick

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

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

Badge preview

Project

Best Practices planLicense
CII-badgelicense-badge

Qt marketplace

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

Build

WindowsUbuntuMacOSAndroidIOS
win-badgeubuntu-badgemacos-badgeandroid-badgeios-badge

Release

ReleasedDownloadDownload count
release-badgedownload-badgedownload-latest

Repository status

TagLanguagesTop Languagecode sizerepo size
tag-latestlanguangestaolanguagecode-sizerepo-size

Issue

Issuespull request
issuse-badgepull-request

Other status

commit freqlast commitdateforksstars
commit-activecommit-latestrelease-dateforks-badgestars-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 follows:

Echo contents as the table below:

ContentReferenceRemark
srcTaoQuick Core LibrarySome qml codes, pictures and scripts for support designer, not including c++ code
examplesSome demosShow how to use TaoQuick Core Library
3rdpartyA third party library
mkspecsQmake externs
.githubGithub-actionsCI 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 the global configuration, which mainly contains font, theme and so on, and all components are displayed in this configuration.

Other Contents reference to the table below:

ContentReferenceRemark
BasicBasic ControlsSuch as Text, ToolTip, they are used to unify basic components in the whole project and facilitate the global replacement when the project becomes huge
CusBackgroundA simple background boxit is usually placed at the beginning of the program to absorb the mouse focus from the white space
CusButtonbuttonSome commonly used buttons have been encapsulated, and various effects can be customized again
CusCheckBoxCheckBox
CusComboBoxComboBox
CusImageBasic Image
CusInputInput
CusLabelLabel
CusListViewListSimple custom scrollbars
CusPopupPopup
CusScrollScrollBar
CusSliderSlider
CusSpinBoxSpinBox
CusTableTableIt needs to be used with a specific C++ model to support functions like selection, check, draw rect selection, anti-selection, continuous selection and all selection
EffectEffectAnimation, PageSwitch and ShaderToy
MiscOthers

Use TaoQuick

get code

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

qmake

You just need import '.pri' file to your project and add import Path to QmlEngine, TaoQuick will be used as local files or qrc resources.

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

  • After you import '.pri', no additional compilation, generation of dlls or plugins would be required

  • No additional copy resource is required to deploy the program

  • After you import '.pri', Qt Creator can support TaoQuick Qml code highlighting and double-clicking the following symbol

  • After importing the module 'import TaoQuick 1.0' in Qml, you can use the TaoQuick component on Designer mode of Qt Creator by dragging or in visual property editor (Principle: Generating metainfos is required by Designer via some scripts)

Detailed steps:

  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 example:

include(TaoQuick.pri)

TaoQuick.pri defines a MACRO: TaoQuickImportPath.

On Debug mode you use TaoQuick as local files, and Release mode is for qrc resource.

  1. Add import path in cpp

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

If you use QQuickView, TaoQuick can be used as follows:

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

if you use QmlEngine, TaoQuick can be use as follows:

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

cmake

TaoQuick starts support cmake after version 0.5.0 , which is the same as qmake.

Detailed steps:

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

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

include(taoQuick.cmake)

taoQuick.cmake will define a MACRO: TaoQuickImportPath.

On Debug mode you use TaoQuick as local files, and Release mode is for the qrc resource.

On Release mode taoQuick.cmake also defines a MACRO: TaoQuickRes, which locates 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 an import path in cpp

Before loading source qmls, you need add an import path to QmlEngine and set imagePath to contexts.

if you use QQuickView, TaoQuick can be used as follows:

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

if you use QmlEngine, TaoQuick can be used as follows:

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

Sponsorship

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

You could pay by WeChat Pay or Alipay.