Master application development by writing succinct, robust, and reusable code with Qt 5 This book will appeal to developers and programmers who would like to build GUI-based applications. Knowledge of C++ is necessary and the basics of Qt would be helpful. Qt 5.7 is an application development framework that provides a great user experience and develops full-capability applications with Qt Widgets, QML, and even Qt 3D. This book will address challenges in successfully developing cross-platform applications with the Qt framework. Cross-platform development needs a well-organized project. Using this book, you will have a better understanding of the Qt framework and the tools to resolve serious issues such as linking, debugging, and multithreading. Your journey will start with the new Qt 5 features. Then you will explore different platforms and learn to tame them. Every chapter along the way is a logical step that you must take to master Qt. The journey will end in an application that has been tested and is ready to be shipped. This is an easy-to-follow yet comprehensive guide to building applications in Qt. Each chapter covers increasingly advanced topics, with subjects grouped according to their complexity as well as their usefulness. Packed with practical examples and explanations, Mastering Qt contains everything you need to take your applications to the next level.
It covers both basic and advanced aspects of Qt 5; along the way, you will learn desktop and mobile app development (and sharing same codebase between mobile and desktop projects), UI design, cross-compilation (with an example for Raspberry Pi), using 3rd-party libraries (OpenCV in this book), animations, multithreading, IPC, serialization and deserialization, testing and benchmarking, app deployment and many other tips and tricks, all of that using the most appropriate C++ design patterns for each situation.
This book is great for learning Qt 5. To be able to read it, you need to be proficient with C++, as it won't teach you the language. However, all the design patterns and modern C++ features are introduced as gently as possible, so even if you are a novice C++ developer, you won't get lost in the book.
The book has occasional typos, but they don't overshadow the overall quality of material. If you get stuck, the code for this book is hosted on github; for the sake of common sense, authors sometimes omit code listings for some of the files in the book and ask you to refer to the repository if you want to finish examples on your machine.