HGZ Kaffeemaschinen & Qt Speak Coffee


Published on

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.


  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

HGZ Kaffeemaschinen & Qt Speak Coffee

  1. 1. The Touch of Taste Do you speak coffee? HGZ Kaffemaschinen
  2. 2. 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
  3. 3. A simple button…
  4. 4. Multimedia touch driven coffee machine
  5. 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.
  6. 6. Qt Linguist by Trolltech (Nokia)
  7. 7. Layout Manager • QHBoxLayout Class • QVBoxLayout Class • QGridLayout Class
  8. 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().
  9. 9. HGZ Touch Application Design
  10. 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. 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. 12. We care about coffee and milk • Thanks for listening! www.hgz.ch