/LQ-Bindings

LabVIEW bindings for Qt

Primary LanguageC++Mozilla Public License 2.0MPL-2.0

LQ

LQ (pronounced "Luke") is a set of LabVIEW bindings for the Qt toolkit. It lets LabVIEW programmers create dynamic, flexible, and powerful GUIs.

LQ is currently focussed on the widget classes, but other major technologies from Qt are planned for inclusion in future releases.

Installation

First, add the LQ feed (https://jksh.github.io/LQ-Bindings/feeds/win_x86/) to NI Package Manager (NIPM):
Adding the LQ feed

Then, install the LQ package:
Installing LQ packages

For step-by-step instructions, read the Quickstart guide. The guide also links to alternative installation methods that don't require NIPM.

Examples

Open LabVIEW, then open the NI Example Finder (Help > Find Examples...) and search for the keywords "LQ" or "Qt".
Searching for examples

Here is a video compilation of some of the examples:
Video thumbnail

Usage

Copy example code into your own block diagram and modify it.

If a class has already been loaded into LabVIEW's memory, it is accessible via the Quick Drop menu. Otherwise, drag it from Windows Explorer onto your block diagram (from vi.lib\addons\LQ\).

NOTE: LabVIEW palette entries are planned for future releases.

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.

Roadmap

See http://github.com/JKSH/LQ-Bindings/wiki/Roadmap

License

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

The LQ library is published under the Mozilla Public License v2.0, while examples are published under the MIT License.

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