Book Image

C++17 By Example

By : Stefan Björnander
Book Image

C++17 By Example

By: Stefan Björnander

Overview of this book

<p>C++ is a general-purpose programming language built with a bias towards embedded programming and systems programming. Over the years, C++ has evolved and is used to develop software for many different sectors. Given its versatility and robustness, C++is a wonderful language to start your coding journey with. This book covers exciting projects built in C++ that show how to implement the language in different scenarios. While developing these projects, you will not only learn the language constructs but also how you can use C++ to meet your software requirements.</p> <p>The book starts with a brief introduction to C++ language constructs where you will learn essential concepts that are required to understand the projects covered in the book. The first module will build a library management system that will teach you how to perform efficient file handling and use pointers in your software. To give you a taste of GUI programming, the next module will build graphical applications using Qt 5. You will then be introduced to game design in C++ and build two interesting games. The final module will teach you how C++ can be used to create a Domain Specific Language.</p> <p>After reading this book, you will have mastered core programming concepts in C++, and how to implement them effectively.</p>
Table of Contents (17 chapters)
Title Page
Dedication
Packt Upsell
Contributors
Preface
Index

Improving the editor


The editor of this chapter is a more advanced version of the editor of Chapter 5, Qt Graphical Applications. In this version, it is possible to change the font and alignment of the text, to mark text, and to cut and paste text.

The EditorWindow class

The EditorWindow class of this chapter is similar to the class of Chapter 5Qt Graphical Applications. It catches the key pressing event and the window closing event.

EditorWindow.h:

    #ifndef EDITORWINDOW_H 
    #define EDITORWINDOW_H 
 
    #include <QMainWindow> 
    #include <QActionGroup> 
    #include <QPair> 
    #include <QMap> 
 
    #include "..\MainWindow\MainWindow.h" 
    #include "EditorWidget.h" 
 
    class EditorWindow : public MainWindow { 
      Q_OBJECT 
 
      public: 
      EditorWindow(QWidget *parentWidgetPtr = nullptr); 
      ~EditorWindow(); 
 
      protected: 
      void keyPressEvent(QKeyEvent* eventPtr); 
      void closeEvent(QCloseEvent* eventPtr); 
 
      private...