Top Related Projects
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
- Creating a custom button:
import TaoQuick 1.0
TButton {
width: 120
height: 40
text: "Click Me"
onClicked: console.log("Button clicked!")
}
- Using a loading indicator:
import TaoQuick 1.0
CusLoading {
width: 100
height: 100
running: true
}
- 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
-
Clone the TaoQuick repository:
git clone https://github.com/jaredtao/TaoQuick.git
-
Add TaoQuick to your project's
.pro
file:include(path/to/TaoQuick/TaoQuick.pri)
-
Import TaoQuick in your QML files:
import TaoQuick 1.0
-
Start using TaoQuick components in your QML:
TaoQuickApp { // Your app content here }
Competitor Comparisons
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
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
ç®ä½ä¸æ
Contents
- Contents
- TaoQuick
- Badge preview
- Some Demo Preview
- Environment
- Project Struct
- TaoQuick Core Library
- Use TaoQuick
- Sponsorship
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 plan | License |
---|---|
Qt marketplace
https://marketplace.qt.io/collections/newest/products/taoquick
Build
Windows | Ubuntu | MacOS | Android | IOS |
---|---|---|---|---|
Release
Released | Download | Download count |
---|---|---|
Repository status
Tag | Languages | Top Language | code size | repo size |
---|---|---|---|---|
Issue
Issues | pull request |
---|---|
Other status
commit freq | last commit | date | forks | stars |
---|---|---|---|---|
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ï¼
Content | Reference | Remark |
---|---|---|
src | TaoQuick Core Library | Some qml codes, pictures and scripts for support designer, not including c++ code |
examples | Some demos | Show how to use TaoQuick Core Library |
3rdparty | A third party library | |
mkspecs | Qmake externs | |
.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 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ï¼
Content | Reference | Remark |
---|---|---|
Basic | Basic Controls | Such as Text, ToolTip, they are used to unify 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 the 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 | Simple custom scrollbars |
CusPopup | Popup | |
CusScroll | ScrollBar | |
CusSlider | Slider | |
CusSpinBox | SpinBox | |
CusTable | Table | It 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 |
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 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ï¼
-
Copy 'TaoQuick' directory and 'TaoQuick.pri' file from TaoQuick/src to your project
-
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.
- 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ï¼
-
Copy 'TaoQuick' directory and 'taoQuick.cmake' file from TaoQuick/src to your project
-
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()
- 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.
Top Related Projects
The source code for the upcoming qml book
A curated list of awesome Qt and QML libraries, resources, projects, and shiny things.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot