I have an existing program with a user interface developed in labwindows.
I would like to change it and make it more user-friendly, "beautiful" and in step with the times.
Unfortunately using labwindows I cannot do it because the UI development tools are not adequate.
Is there a way to put a "skin" on the interface?
Or develop an interface with Adobe Xd or QT and transport it to labwindows without touching the code or compromising the functioning (?).
Otherwise could I transport the interfaces to visual studio and reinsert them on the CVI project without compromising anything ?.
Hi! I'm very new to Labwindows/CVI, but kind of in the same position as you. I inherited some old CVI code that was written 10-20 years ago and, predictably, everything has a 90's feel to it. Unfortunately there is no way to "skin" CVI, but you can set a default appearance for a few things (like font) that has effect on all controls you create after that (Solved: Predefining visuals of a project - NI Community).
What you can do in CVI is to use "Classic Style" controls (right-click uir and you should find it in the drop-down list), which allows you to play around with colors and such more than usual (if I remember correctly). There's also an option under Control Appearance called "Disable Panel Theme", which may open some doors for you (I haven't needed to use this though).
Another thing I did to make it look more modern was to set the fields and button colors to transparent, and then put a box underneath, which makes fields and buttons look flat. I attached an example of what it looks like (I know the colors are dull, but shows the concept at least). It is a work-around, but works well and allows you to play around a bit more.
That said - I'd probably consider using another tool if the visual aspect is very important for your project. You won't likely be able to import outside tools like QT or Adobe into CVI, but you could probably import the CVI code (or whatever you need from it, like the DAQmx libraries) into something else (like visual studio) and then import QT into that and try to puzzle them together. I have tried a bit myself, but I'm not very Visual Studio-competent, and am having some trouble getting VS to understand what CVI stuff it needs to import for my existing project to work. Allegedly it is possible - at least with VS 2005... (Integrating LabWindows™/CVI™ with Microsoft Visual C++ - National Instruments (ni.com))
If you manage to get it to work, then I'd be very thankful if you shared the process here! 🙂
Well, it's true that CVI isn't the most up-to-date development environment when designing the user interface, but I'd like to strike a blow for it since there's more in CVI than you can imagine.
As guybrush_threepwood mentioned, you can play with several attributes for panels and controls to obtain various effects on the UI, like below:
But with a bit of imagination and some coding effort several alternative effects can be obtained, as you can see here:
That is to say, before going the CVI-VS-Qt-integration path, which can be very time-consuming, you could spend some time experimenting with the options you have at hand in CVI.
Ciao Roberto grazie mille per la tua risposta, capisco ma purtroppo essendo un progetto aziendale diciamo che volevo fare le cose come si deve.
Per questo vorrei spostarmi su QT considerando che ho all'incirca 50 sorgenti, richiederebbe molto tempo?
Come mi consiglieresti di procedere?
Hai qualche reference dove prendere informazioni su come fare?
Ti ringrazio moltissimo.
Hi Roberto thank you very much for your answer, I understand but unfortunately being a company project let's say that I wanted to do things properly. For this I would like to move to QT considering I have about 50 sources, would it take a long time? How would you advise me to proceed? Do you have any reference where to get information on how to do it? Thank You very much.
La risposta breve è "non ne ho la più pallida idea"!
Con pochissima esperienza su VS e nessuna su Qt non posso proprio aiutarti. Fra l'altro l'integrazione di diversi sistemi di sviluppo è una strada che cerco di evitare perché -a mio parere- foriera di problemi che non penso di avere le risorse per risolvere.
Hello, the short answer is that I have no idea!
Having very little expertise on VS and none at all on Qt I cannot give you any help. Furthermore, I tend to avoid the integration of different development environments because I don't think I have the resources to address the problems that as far as I can understand are very likely to arise.