HGZ Kaffeemaschinen & Qt Speak Coffee

Post on 12-May-2015

1,509 views 0 download

Tags:

description

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

transcript

The Touch of TasteDo you speak coffee? HGZ Kaffemaschinen

The Touch of Taste - Agenda

• Why Qt

– signal-and-slots

– linguist tool

– layout manager

• Retrospection

– app design: UI, PD, SI

– platform-independent development

• Conclusions

2

A simple button…

Multimedia touch driven coffee machine

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.

Qt Linguist by Trolltech (Nokia)

Layout Manager

• QHBoxLayout Class

• QVBoxLayout Class

• QGridLayout Class

Layout Manager - configuration

• exact positioningvoid QGridLayout::setRowMinimumHeight ( int row, int minSize ) Sets the minimum height of row row to minSize pixels.See also rowMinimumHeight() and setColumnMinimumWidth().

• flexible positioningvoid 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().

HGZ Touch Application Design

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

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

We care about coffee and milk

• Thanks for listening!

www.hgz.ch