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 to design GUIs, and the QEGui application to present GUIs to users.
Code Rich GUI development using Qt’s Integrated Development Environment with the QE Framework 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.
QE_FrameworkOverview.pdf - technical overview of the QE framework.
QE_ReferenceManual.pdf - reference manual for programmers using QE widgets and classes.
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, 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.
This is documented separately in getting_started.html.
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.
Please email: email@example.com
Note: this is new e-mail address - the old synchrotron.org.au address will still work for a while.
These are documented separately and are available here.
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 firstname.lastname@example.org, Ian Reinhart Geiser email@example.com, Karl Glatz and Sebastian Wiedenroth firstname.lastname@example.org.
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: Fri Jun 25 12:11:14 AEST 2021