Coder Social home page Coder Social logo

ziqew / mastering-qt-5-second-editon Goto Github PK

View Code? Open in Web Editor NEW

This project forked from packtpublishing/mastering-qt-5-second-editon

0.0 0.0 0.0 1.17 MB

Mastering Qt 5 Second Editon, published by Packt

License: MIT License

C++ 79.50% QMake 5.73% C 1.51% QML 9.46% JavaScript 1.95% GLSL 0.61% Shell 1.04% Batchfile 0.21%

mastering-qt-5-second-editon's Introduction

Mastering Qt 5 - Second Edition (August 2018)

This is the code repository for Mastering Qt 5 - Second Edition, published by Packt.

Create stunning cross-platform applications using C++ with Qt Widgets and QML with Qt Quick

Book editions

What is this book about?

Qt 5.11 is an app development framework that provides a great user experience and develops full capability applications with Qt Widgets, QML, and even Qt 3D. Whether you're building GUI prototypes or fully-fledged cross-platform GUI applications with a native look and feel, Mastering Qt 5 is your fastest, easiest, and most powerful solution. This book addresses various challenges and teaches you to successfully develop cross-platform applications using the Qt framework, with the help of well-organized projects.

This book covers the following exciting features:

  • Create stunning UIs with Qt Widgets and Qt Quick 2
  • Develop powerful, cross-platform applications with the Qt framework
  • Design GUIs with the Qt Designer and build a library in it for UI previews
  • Handle user interaction with the Qt signal or slot mechanism in C++
  • Prepare a cross-platform project to host a third-party library

If you feel this book is for you, get your copy today!

https://www.packtpub.com/

Errata

Official Packt errata page is https://www.packtpub.com/books/content/support/33683

Chapter 2

  • Page 42. ULARGE_INTEGER is a union, not a structure.
  • Page 49. You should include "#include <stdio.h>" if you have some compilation errors with std:sscanf() in the "SysInfoLinuxImpl.cpp" file.
  • Page 64. The sentence should be: "mPointPositionX is a long long int variable (qint64)".

Chapter 3

  • Page 83. The unix platform scope could be generated for a 'library' Qt project, even if you create the project from a Windows desktop.
  • Page 87. The GALLERYCORESHARED_EXPORT macro must be added right AFTER the 'class' keyword (not before).
  • Page 93. It's QSqlQuery::bindValue(), not QSqlQuery::bind().
  • Page 112. The endRemoveRows() function, which simply triggers the rowsRemoved() signal.

Chapter 4

  • Fix Album model index (trigger ASSERT on Windows DEBUG platform). Check PR #1 (thanks @ziembla)

Chapter 5

  • Qt for Android >= 5.14 now use Android clang multi ABI that broke the APK generation. Check First edition Issue #13

Instructions and Navigations

All of the code is organized into folders. For example, Chapter02.

The code will look like the following:

void MemoryWidget::updateSeries()
{
    double memoryUsed = SysInfo::instance().memoryUsed();
    mSeries->append(mPointPositionX++, memoryUsed);
    if (mSeries->count() > CHART_X_RANGE_COUNT) {
        QChart* chart = chartView().chart();
        chart->scroll(chart->plotArea().width()
            / CHART_X_RANGE_MAX, 0);
        mSeries->remove(0);
    }
}

Following is what you need for this book: Mastering Qt 5 is for developers and programmers who want to build GUI-based applications. C++ knowledge is necessary, and knowing Qt basics will help you get the most out of this book.

With the following software and hardware list you can run all code files present in the book (Chapter 1-14).

Software and Hardware List

Chapter Software and Hardware required OS required
1 to 14 Qt 5.11, Xcode, Android SDK, Raspbian Windows, Mac OS X, and Linux (Any)
5 and 13 Xcode, Android SDK Windows, Mac OS X, and Linux (Any)
6 Raspbian, Raspberry Pi 3 Windows, Mac OS X, and Linux (Any)

Related products

Get to Know the Authors

Guillaume Lazar is a software engineer living in France near Paris. He has worked in different companies, from startups to multinationals, in the last 10 years. He took the opportunity to observe and learn many team organizations and technologies.

In 2014, he founded his own software development company at the age of 27. The current hierarchical organization that applies to most companies seems obsolete to him. With his own company, he wants to try a different approach.

Although he defines himself as a Qt framework lover, he likes to mix different technologies and platforms. He also spends time on game development, machine learning, and electronics, because "things" become "alive".

Robin Penea has been working in the software industry for a more than a decade. He worked in startups and large companies with many technologies that ranged from embedded software to web development. Armed with this experience, he wrote the Mastering Qt 5 book to spread what he loves the most about the programming craft : proper design and quality code.The teaching bug has bitten him, and he continues to share what he learned online using videos. When he is not tinkering with some new technology, he either on a wall, rock-climbing or playing music on his piano. You can reach him via Twitter @synapticrob.

Other books by the authors

Suggestions and Feedback

Click here if you have any feedback or suggestions.

mastering-qt-5-second-editon's People

Contributors

guillaumelazar avatar packt-itservice avatar akhilnairnp avatar ziembla avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.