Application Development with Qt Creator


Application Development with Qt Creator
eBook: $20.99
Formats: PDF, PacktLib, ePub and Mobi formats
$17.84
save 15%!
Print + free eBook + free PacktLib access to the book: $55.98    Print cover: $34.99
$34.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Support
Sample Chapters
  • Introduces the basic concepts of programming using Qt and the Qt Quick framework, with tips and tricks to help you make the most of Qt Creator
  • Shows you how to write cross-platform mobile applications with Qt Creator
  • Full of illustrations and diagrams, with clear step-by-step instructions and practical examples that will help you build cross-platform applications using Qt and Qt Quick

Book Details

Language : English
Paperback : 138 pages [ 235mm x 191mm ]
Release Date : November 2013
ISBN : 1783282312
ISBN 13 : 9781783282319
Author(s) : Ray Rischpater
Topics and Technologies : All Books, Application Development, Open Source

Table of Contents

Preface
Chapter 1: Getting Started with Qt Creator
Chapter 2: Building Applications with Qt Creator
Chapter 3: Designing Your Application with Qt Designer
Chapter 4: Localizing Your Application with Qt Linguist
Chapter 5: Performance Optimization with Qt Creator
Chapter 6: Developing Mobile Applications with Qt Creator
Chapter 7: Qt Tips and Tricks
Index
  • Chapter 1: Getting Started with Qt Creator
    • Downloading Qt Creator
    • Finding your way around Qt Creator
    • Your first application – Hello World
      • Hello World using the Qt GUI library
    • Hello World using Qt Quick
    • Summary
    • Chapter 2: Building Applications with Qt Creator
      • Getting started – our sample library
      • Learning the landscape – the Build menu and .pro files
      • Linking against our sample library
      • Getting lost and found again – debugging
        • Setting breakpoints and stepping through your program
        • Fine-grained control of breakpoints
        • Examining variables and memory
        • Examining the call stack
      • The Projects pane and building your project
      • A review – running and debugging your application
      • Summary
      • Chapter 3: Designing Your Application with Qt Designer
        • Code interlude – signals and slots
        • Creating forms in Qt Designer
          • Creating the main form
          • Using application resources
        • Instantiating forms, message boxes, and dialogs in your application
        • Wiring the Qt GUI application logic
          • Learning more about Qt GUI widgets
        • Code interlude – Qt Quick and QML syntax
        • Creating Qt Quick applications in Qt Designer
          • Creating a reusable button
          • The calculator's main view
          • Learning more about Qt Quick and QML
        • Summary
        • Chapter 4: Localizing Your Application with Qt Linguist
          • Understanding the task of localization
          • Marking strings for localization
          • Localizing your application with Qt Linguist
          • Including localized strings in your application
          • Localizing special things – currencies and dates with QLocale
          • Summary
          • Chapter 5: Performance Optimization with Qt Creator
            • The QML performance analyzer
              • QtSlowButton – a Qt Quick application in need of performance tuning
            • Finding memory leaks with Valgrind
              • QtLeakyButton – a Qt C++ application in need of memory help
            • Summary
            • Chapter 6: Developing Mobile Applications with Qt Creator
              • A mobile software development primer
                • User attention is at a premium
                • Computational resources are at a premium
                • Network resources are at a premium
                • Storage resources are at a premium
                • To port or not to port?
                • A word on testing
              • Setting up Qt Creator for Android
                • Downloading all the pieces
                • Setting up the environment variables
                • Finishing the Android SDK installation
                • Configuring Qt Creator
                • Building and running your application
              • Summary
              • Chapter 7: Qt Tips and Tricks
                • Writing console applications with Qt Creator
                • Integration with version control systems
                • Configuring coding style and coding format options
                • Building from the command line
                • Setting Qt Quick window display options
                • Learning more about Qt
                • Summary

                Ray Rischpater

                Ray Rischpater is an engineer and author with over 20 years' experience writing about and developing for computing platforms.

                During this time, he has participated in the development of Internet technologies and custom applications for Java ME, Qualcomm BREW, Apple iPhone, Google Android, Palm OS, Newton, and Magic Cap, as well as several proprietary platforms. Presently, he's employed as a senior engineer at Microsoft in Mountain View, working on mapping and data visualization.

                When not writing for or about mobile platforms, he enjoys hiking and photography with his family and friends in and around the San Lorenzo Valley in central California. When he's able, he also provides a public service through amateur radio as the licensed Amateur Extra station KF6GPE.

                The books he's written so far include:

                • Microsoft Mapping: Geospatial Development with Bing Maps and C# (with Carmen Au, Apress, 2013)
                • Beginning Nokia Apps Development (with Daniel Zucker, Apress, 2010)
                • Beginning Java ME Platform (Apress, 2008)
                • Wireless Web Development, Second Edition (Apress, 2004)
                • eBay Application Development (Apress, 2004)
                • Software Development for the QUALCOMM BREW Platform (Apress, 2003)
                • Wireless Web Development, First Edition (Apress, 2002)
                • Internet Appliances: A Wiley Tech Brief (John Wiley & Sons, 2001)
                • Advanced Palm Programming (with Steve Mann, John Wiley & Sons, 2000)
                • Palm Enterprise Applications: A Wiley Tech Brief (John Wiley & Sons, 2000)

                He holds a bachelor's degree in pure mathematics from the University of California, Santa Cruz and is a member of the IEEE, ACM, and ARRL.

                Sorry, we don't have any reviews for this title yet.

                Code Downloads

                Download the code and support files for this book.


                Submit Errata

                Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


                Errata

                - 6 submitted: last submission 07 Feb 2014

                Errat type: Code     Errata page: 81

                The code is:

                QString s = new QString("%1 %2").arg("a").arg("b");

                It should be:

                QString s = QString("%1 %2").arg("a").arg("b");

                Errat type: Typo     Errata page: 14

                11th numbered bullet is:

                Qt Creator returns to the Editview for your mainindow.cpp file.

                It should be:

                Qt Creator returns to the Editview for your mainwindow.cpp file.

                Errat type: Technical     Errata page: 15

                The sentence reads:

                Finally, we have to add the on_pushButton_clickedmethoddeclaration to MainWindow.h.

                It shoul be:

                Finally, we have to add the on_pushButton_clickedmethoddeclaration to mainwindow.h.

                Errat type: Code    Errata page: 27, 37

                The code is:

                #include "MathFunctions.h"

                It should be:

                #include "mathfunctions.h"

                Note that the same has to be changed in the code file provided with this book. (2319_Code/2319_02_Code/MathFunctionsTest/main.cpp)

                • Errat type: Technical    Errata page: 33

                The sentence reads:

                You can step out of the current function by pressing F11.

                It should be:

                You can step out of the current function by pressing Shift+F11.

                 

                • Errata type: Technical    Errata page: 38

                Numbered bullet 2 is:

                Right-click on i in the left pane and...

                It should be:

                Right-click on i in the right pane and...

                 

                • Errata type: Technical    Errata page: 41

                The sentence is:

                (the default, a so-called shadow build where your build outputs are mixed with the source code)

                It should be:

                (the default, a so-called shadow build where your build outputs are separate from the source code)

                 

                • Errata type: Code    Errata page: 47

                Current code is:

                Counter() { m_value = 0; }

                Fixed code is:

                Counter(QObject *parent = 0) : QObject(parent) { m_value = 0; }

                 

                • Errata type: Code    Errata page: 48

                Current code is:

                QObject::connect(button, SIGNAL(clicked(void)), Counter, SLOT(increment(void));

                Fixed code is:

                QObject::connect(button, SIGNAL(clicked(void)), counter, SLOT(increment(void)));

                 

                • Errata type: Typo    Errata page: 49

                The sentence is:

                The parent-child relationship is set at construction time; I'm signaling to the constructors that when the object invoking | this code is freed, the push button and counter may be freed as well.

                It should be:

                The parent-child relationship is set at construction time; I'm signaling to the constructors that when the object invoking this code is freed, the push button and counter may be freed as well.

                 

                • Errata type: Technical    Errata page: 61

                The sentence is:

                Finally, I add a signal showResult, which shows the result when a computation occurs.

                It should be:

                Finally, I add a slot showResult, which shows the result when a computation occurs.

                 

                • Errata type: Typo    Errata page: 61

                Current code is:

                QObject::connect(ui->divdeButton, SIGNAL(clicked()), this, SLOT(divideClicked()));

                Fixed code is:

                QObject::connect(ui->divideButton, SIGNAL(clicked()), this, SLOT(divideClicked()));

                 

                • Errata type: Technical    Errata page: 80

                The sentence is:

                In order to supply translatedstrings to the tr and qsTr functions in your application, your application needs to include a QTranslator object to read the .ts files and replace the strings provided to tr and qsTr with their translated counterparts.

                It should be:

                In order to supply translatedstrings to the tr and qsTr functions in your application, your application needs to include a QTranslator object to read the .qm files and replace the strings provided to tr and qsTr with their translated counterparts.

                 

                • Errata type: Technical    Errata page: 106

                The third bullet in unordered list is:

                Cross-platform file I/O with QFile and QDirectory

                It should be:

                Cross-platform file I/O with QFil eand QDir

                 

                • Errata type: Technical    Errata page: 106

                The sentence is:

                The QFile and QDirectory classes are worth a special mention, because of one thing: portability.

                It should be:

                The QFile and QDir classes are worth a special mention, because of one thing: portability.

                 

                • Errata type: Technical    Errata page: 106

                The second bullet in unordered list is:

                Dictionary classes (otherwise known as hash tables), including QMap and QDict

                It should be:

                Dictionary classes (otherwise known as hash tables), including QMap and QHash

                Sample chapters

                You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                Frequently bought together

                Application Development with Qt Creator +    OGRE 3D 1.7 Application Development Cookbook =
                50% Off
                the second eBook
                Price for both: £21.45

                Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                What you will learn from this book

                • Use Qt Creator's editor to edit your application source and resource files
                • Localize applications using Qt Linguist and Qt
                • Design GUI applications using both Qt and Qt Quick
                • Write mobile applications for Android using Qt Creator and Qt Quick
                • Integrate version control with Qt Creator
                • Gain valuable tips known only to professional developers

                In Detail

                Qt Creator is the leading open-source, cross-platform integrated development environment (IDE) for building GUI applications that run on Windows, Mac OS X, Linux, Android, and many embedded systems. It greatly simplifies cross-platform application development, targeting desktop computers, embedded platforms, and mobile systems. If you want to build and debug applications with Qt Creator in no time, then this book is for you.

                This book provides a thorough introduction to using Qt Creator to make cross-platform applications that you can read in just a few hours. It covers everything you need to know to build applications with Qt Creator. This book also discusses the facets of Qt Creator that make it a valued software development environment for students and professionals alike.

                The book starts by showing you how to get, install, and use Qt Creator, beginning with the basics of how to edit, compile, debug, and run applications. Along the way, you will learn to use Qt to write cross-platform GUI applications for Mac OS X, Windows, Linux, and Android in C++ and Qt Quick.

                This book covers how to craft GUIs with Qt Designer, localize applications using Qt Linguist, and profile application performance with Qt Creator's tools and valgrind. You will gain valuable insight in constructing applications using Qt in C++ and Qt Quick, Qt's declarative GUI authoring platform and learn everything you need to know to use Qt Creator effectively as a software developer.

                Approach

                Written in a concise and easy-to-follow approach, this book will guide you to develop your first application with Qt with illustrated examples and screenshots.

                Who this book is for

                If you are a developer who is new to Qt and Qt Creator and is interested in harnessing the power of Qt for cross-platform development, this book is great for you. If you have basic experience programming in C++, you have what it takes to create great cross-platform applications using Qt and Qt Creator!

                Code Download and Errata
                Packt Anytime, Anywhere
                Register Books
                Print Upgrades
                eBook Downloads
                Video Support
                Contact Us
                Awards Voting Nominations Previous Winners
                Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                Resources
                Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software