LabVIEW bindings for the Qt toolkit
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
3rdparty Add 3rd party license texts Jul 16, 2016
doc Add video thumbnail to root README Jul 16, 2016
examples Create dedicated README for example subfolder Jul 16, 2016
src Initial commit May 12, 2016
LICENSE.MPLv2 Initial commit May 12, 2016
README.md Add 3rd party license texts Jul 16, 2016

README.md

LQ Widgets

This is a set of LabVIEW bindings for the Qt toolkit. It is currently focussed on the widget classes, but other major technologies from Qt are planned for inclusion in future releases.

Roadmap

Please see http://github.com/JKSH/LQWidgets/wiki/Roadmap

System Requirements

For using LQ Widgets:

  • Windows 7 or newer
  • LabVIEW 2014 or newer (packages for older versions available upon request)

For compiling the C++ shared library:

  • A C++11 compliant compiler (tested with Microsoft Visual C++ 2013)^
  • Qt 5.4.2 or newer
  • Qwt 6.1.2 or newer

^ MinGW 4.9.2 is tested and it works, but it is not supported by National Instruments. To use MinGW, you need to modify the external header, \cintools\platdefines.h, to make it accept the GCC compiler on Windows.

Usage

  1. Download the library from https://github.com/JKSH/LQWidgets/releases and extract it to disk (C:\LQWidgets is the recommended root path).

  2. If you extracted the library to a place other than C:\LQWidgets, modify the default output of src\LabVIEW\LQ Core_Internal\Library Path.vi to point to your custom location for LQWidgets.dll.

  3. Create a new LabVIEW VI. Drag the LQ Widgets VIs that you want from Windows Explorer onto your block diagram. Once a class and its dependencies are loaded in LabVIEW's memory, you can use the Quick Drop menu to find VIs you want.

NOTE 1: LabVIEW palette entries and VIPM packages are planned for future releases.

NOTE 2: The LabVIEW code in the Git repo has "Separate compiled code from source file" enabled to make them friendlier for source control. However, this can cause significant lag when oopening/closing a project that depends on many LQ Widgets classes. Code separation is disabled in the files at https://github.com/JKSH/LQWidgets/releases

Examples

Please see the examples folder. Here is a video compilation of some of these examples:

[Video thumbnail] (https://www.youtube.com/watch?v=YChRI1cMfiI)

Known Issues

This is a pre-alpha release, which means (i) the API will likely change in the near future, (ii) the library is far from feature-complete, (iii) performance is not optimized, and (iv) you might experience crashes. Other issues include:

  • You currently can't free any resources or disconnect signals, except by calling LQCoreEngine.lvclass:Stop Engine.vi.

  • QWinThumbnailToolButton cannot be applied to non-Qt windows, such as LabVIEW front panels.

  • After you start and stop the engine, QWinThumbnailToolButton no longer emits any signals when you click on it.

    • Workaround: Restart LabVIEW.
  • There are a few small memory leaks, which will persist until you close LabVIEW.

Copyright and Licensing

Copyright (c) 2016 Sze Howe Koh <szehowe.koh@gmail.com>

The LQ Widgets library is published under the Mozilla Public License v2.0 (see LICENSE.MPLv2), while examples are published under the MIT License (see examples/LICENSE.MIT).

LQ Widgets also uses third party software that are licensed under different terms. Please see the 3rdparty folder for details.