While the QE framework is designed to enable both ‘code-free’ GUIs using qegui to present GUIs and to support you writing your own display applications when
you need to, there is a middle path that may allow you to use all the features that qegui provides and get the functionality you need without writing your own application.
Before I discuss how you might add the functionality you require to your GUI, I wonder if the comparison of the two values would best be performed in an EPICS
calculation record? If the subtraction result is not intrinsically part of the GUI, but rather an operational state of your hardware, perhaps having this result calculated in EPICS and then available to any GUI that needs to present would be better?
That said, it is easy to write your own widget to do what you want based on a QE framework widget, or using QE framework classes, to manage reading and writing
EPICS data, managing user levels, logging, etc.
A widget that does what you describe need only be a couple of hundred lines long, and most of that would be code similar to many working examples in the framework.
This widget can reside in your own plugin library which you can use alongside the QE framework plugin.
I have had a bit of a play and have written a widget similar to what you require that is around 120 lines long, and the part implementing your functionality
is around 25 lines.
It monitors a couple of PVs, displays the difference between the values as text in a label, sets the background colour and plays a sound depending on the
I can put this in its own plugin library and send it to you if that would help.
Alternatively, if you want to write your own application, I can provide examples on how to use the QE framework to connect to PVs and monitor data, connection
status, and alarm status. Also, if you do write your own application, many features and tools in the qegui display application such as error logging and user levels are available to your own application through the QE framework library.
From: email@example.com [mailto:firstname.lastname@example.org]
On Behalf Of Chavez, Joy
Sent: Thursday, 20 August 2015 10:03 AM
Subject: Questions about code-free development with epicsqt
I am new to EPICS, QT, and epicsqt and struggling to write an alarm based on several epics channels at our observatory.
I would like to stay within QTDesigner because QEGui doesn't recognize arithmetic or logic that I code in QTCreator. And, I like the user levels and epics options that QEGui window offers that are not available when I 'run' the ui/project
But I don't know how to do the same arithmetic or logic within QTDesigner. I would like to subtract the values from two channels, and and then based on weather conditions have colors change in QEGroupBoxes and sounds play.
I am happy to go into more details, but I hesitate if this is correct forum for hand-holding with widget creation. Are there examples that do show some of these things? Would private messaging be better?
Science Operation Specialist
Gemini Observatory, North
670 N. A'ohoku Place