JKQtPlotter/README.md
jkriege2 b0df7a1fd7 NEW/BREAKING: provide general targets JKQTPlotter5/6::JKQTPlotter5/6, JKQTPlotter5/6::JKQTMathText5/6, ... which are independent of the type of build (shared/static)
NEW/BREAKING: refactor CMake-Code, so static/dynamic switch is done via <code>BUILD_SHARED_LIBS</code>, which retires <code>JKQtPlotter_BUILD_STATIC_LIBS</code>, <code>JKQtPlotter_BUILD_SHARED_LIBS</code> and removes the capability to build static and shared libraries in one location (fixes issue #104)
NEW: prepareed library for CMake's <a href="https://cmake.org/cmake/help/latest/module/FetchContent.html">FetchContent</a>-API
NEW: the different sub-libraries JKQTPlotter, JKQTFastPlotter (DEPRECATED), JKQTMath, JKQTMathText can be activated/deactivated with CMake options JKQtPlotter_BUILD_LIB_JKQTPLOTTER, JKQtPlotter_BUILD_LIB_JKQTFASTPLOTTER, JKQtPlotter_BUILD_LIB_JKQTMATHTEXT, JKQtPlotter_BUILD_LIB_JKQTMATH
2024-01-16 13:07:08 +01:00

9.6 KiB

JKQTPlotter - A Qt Plotting Library

This is an extensive C++ library for data visualization, plotting and charting for Qt (>= 5.0, tested with Qt up to 6.3). It is feature-rich but self-contained and only depends on the Qt framework.

This software is licensed under the term of the GNU Lesser General Public License 2.1 (LGPL 2.1) or above.

Lates Release

Language Qt5 Qt6

Documentation

Build status

Commit Activity Last Commit Contributors

Open Issues Closed Issues

Open PRs Closed PRs

CodeQL MSVC-CodeAnalysis

EXAMPLES-Page

Main Features

Documentation

A Documentation (auto-)generated with doxygen from the trunk source code can be found here: http://jkriege2.github.io/JKQTPlotter/index.html

There are also some subpage of general intetest:

Examples

There is a large set of usage examples (with explanations for each) and tutorials in the folder ./examples/. All test-projects are Qt-projects that use qmake to build. You can load them into QtCreator easily.

Screenshots

The Screenshots-page contains several screenshots, partly taken from the provided examples, but also from other software using this libarary (e.g. QuickFit 3.0)

EXAMPLES-Page

Building

Lates Release

JKQTPlotter contains two different build systems: A modern CMake-based build and an older (and deprecated!) QMake-based build (which works out of the box with Qt 5.x and QT 6.x). Both systems are explained in detail in http://jkriege2.github.io/JKQtPlotter/page_buildinstructions.html.

With CMake you can easily build JKQTPlotter and all its examples, by calling something like:

    $ mkdir build; cd build
    $ cmake .. -G "<cmake_generator>" "-DCMAKE_PREFIX_PATH=<path_to_your_qt_sources>" "-DCMAKE_INSTALL_PREFIX=<where_to_install>"
    $ cmake --build . --config "Debug"
    $ cmake --install . --config "Debug"

This will create CMake targets, which you can easily link against. For the main plotter library, the target's name is \c JKQTPlotter5::JKQTPlotter5 or \c JKQTPlotter6::JKQTPlotter6 depending on the Qt-Version you use. You can then simmply link against this via:

  find_package(JKQTPlotter6 REQUIRED)
  target_link_libraries(${PROJECT_NAME} JKQTPlotter6::JKQTPlotter6)

or on a Qt-version agnostic way via:

  find_package(JKQTPlotter${QT_VERSION_MAJOR} REQUIRED)
  target_link_libraries(${PROJECT_NAME} JKQTPlotter${QT_VERSION_MAJOR}::JKQTPlotter${QT_VERSION_MAJOR})

See http://jkriege2.github.io/JKQtPlotter/page_buildinstructions_cmake.html for details.

Stargazers over time

Stargazers over time