HIP:LittleFe Touchscreen qt Interface

From Earlham CS Department
Revision as of 10:04, 22 May 2009 by Purcebr (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Touchscreen qt interface

I have successfully built a qt interface for GalaxSee using qt designer. the current versions are located in svn. When the binary is executed, the window fits perfectly on the touchscreen display at 64O x 48O resolution.

To get started editing these files and building new interfaces for new applications, you must download designer-qt3


apt-get install designer-qt3


Note, this is not the latest version, version 4, because version three includes a c++ editor in the designer window. I felt this was the easiest way to get things working, and since my interface needs at this time are pretty minimal, the additional features of version 4 were not needed.

Qt designer has a few different modes. The interface builder allows the user to manipulate window primitives and achieve appropriate look and feel. Once the window objects, such as sliders, text boxes and buttons are properly arranged, signal handlers must be assigned.

To assign a signal handler (a callback} first click on the object for which you want to assign a handler. Look on the left side of the screen. There will be a properties inspector window. This allows you to change the various attributes of the window primitive. The next tab is the signal handlers tab. from this tab, double-click on the event you want to attach a function to. For a button, this you'll most likely want the release handler. The IDE will create a stub for you, and will assign that stub to the respective object and event.

For GalaxSee, I have written a simple python client/server architecture. The qt interface makes a system call that launches the python client that sends a Galaxsee job to the server where the mpiexec call is executed.

It looks like this might not be necessary, as Matt is implementing a Galaxsee server that listens for job requests on a tcp port. When this materializes, the server functionality, ie parsing the command and running the appropriate application with the right parameters can be moved to the python client running on the touchscreen host.