[TOC]
This repo produces QML modules with custom QML types that can be used in GUI interfaces.
It is composed of different Qt Quick Controls custom styles in the Controls directory. Also, expose some higher-level custom controls/types in the CustomControls directory. Some common resources are grouped in QML modules in the Styles directory.
git clone https://github.com/EddyTheCo/MyDesigns.git
mkdir build
cd build
qt-cmake -G Ninja -DCMAKE_INSTALL_PREFIX=installDir -DCMAKE_BUILD_TYPE=Release -DQTDEPLOY=OFF -DBUILD_EXAMPLES=OFF -DBUILD_DOCS=OFF ../MyDesigns
cmake --build .
cmake --install .
where installDir
is the installation path, QTDEPLOY
install the examples and Qt dependencies using the cmake-deployment-api.
One can choose to build or not the example and the documentation with the BUILD_EXAMPLES
and BUILD_DOCS
variables.
Download the releases from this repo.
include(FetchContent)
FetchContent_Declare(
EstervDesigns
GIT_REPOSITORY https://github.com/EddyTheCo/MyDesigns.git
GIT_TAG vMAJOR.MINOR.PATCH
FIND_PACKAGE_ARGS MAJOR.MINOR CONFIG
)
FetchContent_MakeAvailable(EstervDesigns)
target_link_libraries(<target> <PRIVATE|PUBLIC|INTERFACE> EstervDesigns::SimpleStyle EstervDesigns::CustomControls EstervDesigns::FlatControl
$<$<STREQUAL:$<TARGET_PROPERTY:EstervDesigns::SimpleStyle,TYPE>,STATIC_LIBRARY>:EstervDesigns::SimpleStyleplugin>
$<$<STREQUAL:$<TARGET_PROPERTY:EstervDesigns::CustomControls,TYPE>,STATIC_LIBRARY>:EstervDesigns::CustomControlsplugin>
$<$<STREQUAL:$<TARGET_PROPERTY:EstervDesigns::FlatControl,TYPE>,STATIC_LIBRARY>:EstervDesigns::FlatControlplugin>
)
One needs to make available to the QML engine the different modules by setting the QML import path.
-
In your main function
engine.addImportPath("qrc:/esterVtech.com/imports");
to use the resource file. -
Set the environment variable like
export QML_IMPORT_PATH=installDir/CMAKE_INSTALL_LIBDIR
whereCMAKE_INSTALL_LIBDIR
is whereEsterv
folder was created.
The examples folder shows the use of the different custom types provided by the QML module.
One can also play with the types here
You can read the API reference, or generate it yourself like
cmake -DBUILD_DOCS=ON ../
cmake --build . --target doxygen_docs
We appreciate any contribution!
You can open an issue or request a feature.
You can open a PR to the develop
branch and the CI/CD will take care of the rest.
Make sure to acknowledge your work, and ideas when contributing.