C++, QT, ZeroMQ and Protocol Buffers Training Course


C++ is an object oriented programming language based on C. Qt is a framework for developing GUIs for C++ applications. Distributed C++ applications often use a messaging library such as ZeroMQ to communicate asynchronously with other components, services and applications. Messages are first serialized using a serialization protocol such as Protocol Buffers, which allows the messages to be transmitted as compiled bytes that are smaller and lighter than JSON or XML files.

This instructor-led, live training (online or onsite) provides introductory coverage of C++, the Qt GUI framework, and various communication technologies such as ZeroMQ and Protocol Buffers that can be used for writing distributed applications.

By the end of this training, participants will have the necessary knowledge and practice to write and compile an application using C++, Qt and gcc on Linux Centos 6/7. Participants will also integrate asynchronous messaging capabilities using Zero MQ and Protocol Buffers.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.


  • Knowledge of basic programming concepts.


  • Software developers

Course Outline


Overview of C++ and QT Features

Setting up the Development Environment on Linux Centos 6/7.

Creating a Sample C++ Application

Implementing a GUI with QT

Objects and Core Types

Models and Views

Widgets and Designer

Applications and Painting

Creating 2D and 3D Graphics (Square, Circle, Polygons, etc.)

Multithreaded Programming

Inter-Process Communication

Understanding Network Communications Patterns (Request/Reply, Publish-Subscribe, etc.)

Asynchronous Messaging with ZeroMQ

Serializing Data with Protocol Buffers

Testing and Debugging the Application


Summary and Conclusion

Leave a Reply

Your email address will not be published. Required fields are marked *