HGZ is developing and producing fully automatic coffee machines since 1969 in Switzerland. In 2006 the idea of a modern computer system based man-machine-interface was ready to be realized. Qt's linguist tool was the reason to start with Qt as development framework. This session will give live demonstration of the new coffee machine S400 and a retrospection of the GUI development in the passed three years. Why Qt was chosen as development framework, how the software is designed, and which Qt classes were used. The linguist tool in action and personal experience with the framework, its documentation and other Qt resources. Qt's hardware independence as chance and dependencies on the OS as possible bottleneck and how to prevent these.
Presentation by Samuel Lüthi held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
5. Signal and Slots
The 'signal and slots' mechanism is a save and easy solution for the
normally complex inter object data exchange. And gives a
condensed overview of the defined interface.
8. Layout Manager - configuration
• exact positioning
void QGridLayout::setRowMinimumHeight ( int row, int minSize )
Sets the minimum height of row row to minSize pixels.
See also rowMinimumHeight() and setColumnMinimumWidth().
• flexible positioning
void QGridLayout::setRowStretch ( int row, int stretch )
Sets the stretch factor of row row to stretch. The first row is number 0.
The stretch factor is relative to the other rows in this grid. Rows with a
higher stretch factor take more of the available space.
The default stretch factor is 0. If the stretch factor is 0 and no other row in
this table can grow at all, the row may still grow.
See also rowStretch(), setRowMinimumHeight(), and setColumnStretch().
10. Platform-independent development
• Your application will run across all „supported“ Qt
platforms, if... all Qt-features and calls are supported by
the hardware. This was our biggest drawback.
– Buggy mouse handler
– Floating point calculations led to kernel exceptions
– Embedded Linux without GStreamer to execute multimedia
11. Conclusions
• Qt's development framework
– huge variety of objects or structures ready to use or easily to configure
– 'signals and slots' mechanism is a save and easy solution for
communication, and results in good quality of code and so reduces the
time-consuming debugging and error detection
– Qt‘s translation concept in combination with their layout manager is a
powerful instrument
– Qt's instant support, good documentation of the classes in the
framework and worldwide fan community is a source for new ideas
12. We care about coffee and milk
• Thanks for listening!
www.hgz.ch