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.
Please see http://github.com/JKSH/LQWidgets/wiki/Roadmap
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.
-
Download the library from https://github.com/JKSH/LQWidgets/releases and extract it to disk (C:\LQWidgets is the recommended root path).
-
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.
-
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
Please see the examples folder. Here is a video compilation of some of these examples:
[] (https://www.youtube.com/watch?v=YChRI1cMfiI)
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 (c) 2016 Sze Howe Koh <[email protected]>
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.