Welcome to EPICS Qt at GitHub.
EPICS Qt is a layered framework based on Qt for accessing Experimental Physics and Industrial Control System (EPICS) data using Channel Access (CA) and PV Access (PVA). It has been designed for rapid development of control system graphical interfaces, initially developed at the Australian Synchrotron.
The EPICS Qt (QE) Framework can be used in three ways:
Code Free GUI systems using Qt’s Designer application with the QE Framework plugin (and other 3rd party plugins) to design GUIs, and the QEGui display manager application to present GUIs to users.
Code Rich GUI development using Qt’s Integrated Development Environment with the QE Framework, and any other third-party, widgets and data objects to design GUI applications.
Console application development using Qt’s Integrated Development Environment with the QE Framework data objects to design console applications that can access EPICS data.
Note, there are many variations to the above, such as using another Integrated Development Environment like Eclipse, or developing new plugin widgets to implement desired functionality, then using those widgets within a code free GUI development.
Other documents you may be interested in are:
QE_QEGuiAndUserInterfaceDesign.pdf - general documentation for developing code free GUI applications.
QEWidgetSpecifications.pdf - widget specific documentation for developing code free GUI applications. Note: a number of widgets now have their own widgent specifc documents.
QE_FrameworkOverview.pdf - technical overview of the QE framework.
QE_ReferenceManual.pdf - reference manual for programmers using QE widgets and classes (somewhat out of date at the momnet).
The EPICS QT Framework is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The EPICS QT Framework is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the EPICS QT Framework. If not, see https://www.gnu.org/licenses/.
The repository structure is documented separately in structure.html.
Ensure you have: EPICS base, acai, Qt and QWT installed, see getting started below.
Download source: see Download source code and documentation below.
Set up build environment, i.e. the RELEASE files - see Modify RELEASE files; and the environment variables see environment variables or environment variables.
Build framework see Build Plugin Library and Display Manager.
Build qegui (display manager) see Build Plugin Library and Display Manager.
Set up run time environment (environment variables) see environment variables.
Run qegui.
This is documented separately in getting_started.html.
These are documented separately and are available here.
There are two classes of environment variables, namely those that affect the building EPICS Qt and those that impact EPICS Qt at runtime. Both of these are documented separately in environment_variables.html.
Please visit EPICS Archiver Appliance support documentation.
Please visit the PV Access support documentation for details.
Please visit the caQtDM integration documentation for details.
For in house EPICS Qt Windows builds, we use the mingw compiler. However, EPICS Qt has been successfully built using MSVC. Please see Andrew Rhyder’s notes for details. This is somewhat old now, any contructive feed back is welcome.
In brief:
Update the EPICS Qt framework to build against later version of Qt.
Update PV Access functionality to support all image formats. Currently we only support mono.
Please email: andrews@ansto.gov.au
Note: this is new e-mail address - the old synchrotron.org.au address is no more.
Andrew Ryder, Glenn Jackson, Anthony Owen, Ricardo Fernandes, Anton Maksimenko, Andraz Pozar, Andrew Starritt, Zai Wang.
Apart from EPICS base and Qt itself, the EPICS Qt framework uses the following:
The framework relies on QWT for plotting https://sourceforge.net/projects/qwt/.
To access the Channel Access Archive data, the framework relies on the maiaXmlRpcClient and support classes written by Frerich Raabe raabe@kde.org, Ian Reinhart Geiser geiseri@kde.org, Karl Glatz and Sebastian Wiedenroth wiedi@frubar.net.
When build with EPICS Archiver Appliance support, the EPICS Qt framework relies on Google Protocol Buffers https://developers.google.com/protocol-buffers/.
When built with MPEG support, the EPICS Qt framework relies on FFmpeg for reading MPEG image streams https://www.ffmpeg.org/.
The QEGui application can be built to support caQtDM (version 3 and after EPICS Qt release 3.7.2 will support version 4) widgets provided by The Paul Scherrer Institute. http://epics.web.psi.ch/software/caqtdm/.
Last updated: Sat Dec 21 14:24:10 2024