Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Qt 5: Application Development with Qt 5: 2 in 1
Rating: 3.8 out of 5(78 ratings)
593 students

Qt 5: Application Development with Qt 5: 2 in 1

One stop guide to GUI application development using Qt with ease!
Last updated 9/2018
English

What you'll learn

  • Learn advanced, custom model views and web views
  • Extend your applications by incorporating the World Wide Web
  • Run your code natively through mobile applications with Qt, Qt Quick, and QML

Course content

2 sections59 lectures6h 51m total length
  • The Course Overview4:18

    This video introduces an overview of the entire course. 

  • Installing Qt and Setting Up the Environment3:14

    How to install Qt on my PC?

    • Download installer for your operating system

    • Configure the installer and install Qt

    • Verify the installation is successful

  • The Qt Application5:51

    How to create a Qt/C++ project in Qt Creator?

    • Launch Qt Creator

    • Create a new Qt console application project

    • Verify it with the hello world output

  • Fundamentals9:11

    How does the Qt’s QObject memory management work?

    • Create two QObject derived classes

    • Initialize these calsses with one as the parent of the other

    • Check how the destructor is called

  • Command-line Processing8:53

    How to add support for command-line options to make an application run-time configurable?

    • Add command-line parser to the Qt application

    • Add supported command-line options to the parser

    • Verify the parser works as expected

  • Multi-Platform and Portability5:45

    Using Qt’s macros and QSysInfo APIs to developcross-platform application easily.

    • Use macros for the compile-time code

    • Use QSysInfo APIs at run-time

    • Change the qmake project file if necessary

  • Introduction to Threads and Processes4:29

    What is thread and what is process? What’s the difference between them?

    • Learn what thread is

    • Learn what process is

    • Compare the two and find the differences

  • Multithreading4:54

    How do I make my applications multi-threaded?

    • Make a worker classon

    • Move heavy lifting work into the worker class

    • Move workers into a different thread

  • Multiprocessing5:38

    How to make use of multiprocessing in Qt?

    • Create a QProcess object

    • Setup the program and arguments

    • Interact with the process with standard input and output

  • Network Programming Introduction7:41

    What is network programming? What the relationship among TCP, UDP, and HTTP?

    • Learn what a socket is

    • Learn what TCP and UDP are

    • Learn what HTTP is

  • HTTP Request and Downloading5:23

    How to make HTTP connection and how to download files from a remote server?

    • Use the QNetworkAccessManager class to manage requests and replies

    • Use the GET method to access the Internet

    • Test file downloading

  • TCP Server6:05

    How can I write a TCP server or client with the Qt network module?

    • Get to know QTcpSocket and write a TCP client

    • Get to know QTcpServer and write a TCP server

    • Verify the client and server

  • Designing in Qt Creator6:31

    How to design the application user interface in Qt creator?

    • Create a new Qt Widgets Application project

    • Add/Remove widgets in the Qt Creator Design mode

    • Arrange and edit widgets in the Qt Creator Design mode

  • Signals and Slots7:31

    What is a signal? What is a slot? How do they work?

    • Learn what signals are

    • Learn what slots are

    • Learn how to define signals and (or) slots

  • Window, Dialog, and Popup10:07

    How to create different kinds of windows in Qt?

    • Learn what QMainWindow is

    • Learn what QDialog is

    • Make a popup in the hands-on practices

  • Display Widgets10:04

    What common display widgets does Qt have and how to use them?

    • Learn different text display widgets

    • Learn how to display images

    • Learn how to use the progress bar

  • Editable Widgets5:56

    How to get the input from the user in different widgets and make use of them with signals and slots mechanism?

    • Provide options with the combo box

    • Provide text edit for input

    • Show results in a text browser

  • Layouts5:44

    We focus on different layouts that Qt provides and experiment them in real-life scenarios and also their importance in managing or positioning and resizing widgets.

    • View a brief description about standard layout managers

    • Understand QGridLayout

    • Understand QFormLayout

  • Tabs6:30

    What is a tab and how can you create tabs and use them in Qt?

    • Get to know QTabWidget

    • Create a tabbed window in theDesign mode

    • Manipulate the tab widget programmatically

  • Models and Views in Qt5:20

    What are models and views? How is it architected in Qt?

    • Learn what a model is

    • Learn what a view is

    • Learn what built-in models and views Qt have provided

  • Table Model and View5:27

    How do I display my data in a table in the model/view architecture?

    • Access data using QSqlTableModel

    • Access data in the model from QTableView

    • Test the results

  • List Model and View4:58

    How do I display my data in a list in the model/view architecture?

    • Construct QStringListModel

    • Access data in QStringListModel from QListView

    • Access data in QSqlTableModel from QListView

  • Introduction to Qt Quick and QML4:33

    What is Qt Quick and what is QML?

    • Learn what QML is

    • Learn what Qt Quick is

    • Learn the difference between Qt Quick and Qt Widgets

  • Designing Qt Quick Application5:00

    How to create and design Qt Quick Applications in Qt Creator?

    • Create a Qt Quick Controls 2 Application project

    • Design the UI in QML editor

    • Design the UI in Qt Quick Designer

  • Dynamic QML4:50

    How does a Qt Quick application start? What is dynamic property binding in QML and how it works?

    • Learn how the C++ launcher works

    • Learn what the Qt resource system is

    • Learn how the dynamic property binding in QML works

  • QML Syntax5:27

    How to write QML code? What is the syntax of QML?

    • Learn what import statements are

    • Learn how to declare objects

    • Learn QML object types

  • QML Modules5:30

    What is QML module and how to create one?

    • Learn what a QML module is

    • Create a QML module through QML documents

    • Use the custom QML module

  • JavaScript in QML6:06

    How to use JavaScript in QML?

    • Learn how JavaScript works in QML

    • Learn where you can write JavaScript in QML

    • Learn how to import JavaScript resources

  • Input and Output6:15

    What are the common input/output widgets in Qt Quick and how do I use them?

    • Learn what Qt Quick Controls provide

    • Learn how to use the output controls

    • Learn how to use the input controls

  • Layouts4:26

    How to organize items with layouts in QML?

    • Learn what layouts Qt Quick provides

    • Learn how to use ColumnLayout and RowLayout

    • Learn how to use GridLayout

  • Styles and Animations7:14

    How to change the style of Qt Quick Controls 2 application? How to add animations to Qt Quick application?

    • Learn how to style the Qt Quick Controls 2 application

    • Learn how to add different states

    • Learn how to add animated transition

  • Scaling6:18

    How to scale up an item in Qt Quick with animation?

    • Learn how to change the scale

    • Learn how to use PropertyAnimation for scale transform

    • Learn how to use ScaleAnimator

  • Learning Qt 5

Requirements

  • Basic Qt and C++ programming skills can be beneficial for this course, but not mandatory.

Description

Unlike platform-specific libraries, Qt enables developers to code once and run it everywhere, natively, including mobile platforms! Moreover, Qt is open source and driven by communities around the world. 

With this comprehensive 2-in-1 course you will get an complete  insight into custom model-views, showcasing the power and flexibility of the model-view architecture. Moreover it additionally gives you deep drive into multimedia capture/manipulation, which play key roles in the mobile arena. Continuing the mobile trend, you will be walked throughQt's mobile offerings, including QtQuick, QML, and communicating between C++ and QML.

Contents and Overview

This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Learning Qt 5, enables developers to code once and run it everywhere, natively, including mobile platforms! Moreover, Qt is open source and driven by communities around the world. You’ll learn to work with both Qt (C++) and Qt Quick (QML) & also get familiar with common Qt modules and dive into GUI widgets.

The second course, Mastering Qt 5 GUI Programming is a powerful, cross-platform, graphics development framework. It provides a large set of consistent, standardized libraries and works on many major platforms, including embedded, mobile, desktop, and the web. You will also learn advanced Qt topics which includes an in-depth dive into custom model-views, showcasing the power and flexibility of the model-view architecture & much more. 

About the Authors:

  • SohamMondal is an amateur developer who's currently doing his master's degree at Trinity College, Dublin. He has been contributing to open source projects for several years. He has worked in various areas, including the maintenance of Linux servers, desktop application development, and image recognition and analysis. Symeon has always been passionate about cool technology and elegant programming techniques. He has been programming Qt and QML applications for more than 2 years and has also been developing pure C and C++ programs for many years. Most of the projects he's working on can be found on his GitHub and Gitorious pages.


  • Benjamin Hoff is a Mechanical Engineer by education, he has spent the first 3 years of his career doing graphics processing, desktop application development, and facility simulation using a mixture of C++ and python under the tutelage of a professional programmer. After rotating back into a mechanical engineering job, Benjamin has continued to develop software utilizing the skills he developed during his time as a professional programmer.

Who this course is for:

  • This Learning Path is for developers who are interested in constructing modern cross-platform GUI applications with the amazingly powerful Qt 5.