We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Python GUI Programming Recipes using PyQt5

Packt Publishing

Python and one of its QT bindings, PyQT, has changed the face of GUI development. It allows us to build beautiful and powerful GUIs that grab the attention of Python programmers. QT5 has several advantages over other GUI frameworks such as tkinter and wxPython.

Read more

Python and one of its QT bindings, PyQT, has changed the face of GUI development. It allows us to build beautiful and powerful GUIs that grab the attention of Python programmers. QT5 has several advantages over other GUI frameworks such as tkinter and wxPython.

In this video, we will successfully install PyQt5 and the toolset that contains the QT Designer tool. The QT Designer enables us to develop our GUI in a visual manner, using drag and drop to add and position widgets, and we will use it extensively. We will then learn how to convert QT Designer-generated code into pure Python code.

After having successfully installed PyQt5, the QT Designer, and all other required QT tools, we will start out simple, building a Python GUI using only a few lines of PyQT5 code. Then, we will build a more complex GUI using QT Designer. Along the way, we will explore many QT widgets and learn how to efficiently lay out our GUI design. We will enhance the look-and-feel of the GUI using CSS styling. We will also connect our GUI to a SQL database, which we will create. We decouple the business logic code from the UI code, using best practices. At the end of this video tutorial, viewers will be able to develop complex GUIs using PyQt5.

About the Author :

Burkhard Meier is a professional software test automation designer, developer, and analyst. He has more than 17 years' professional experience working for several software companies in California, USA.

He is the author of Python GUI Programming Cookbook, First and Second Edition. This book is also available as a Packt video course.

He is also the author of the Python Projects Packt video course.

In his professional career, he developed advanced in-house testing frameworks written in Python 3. He also developed advanced test automation GUIs in Python, which highly increased the productivity of the software development testing team.

When not dreaming in Python code, he reads programming books about design, likes to go for long walks, and reads classical poetry.

Enroll now

What's inside

Learning objectives

  • Visually add and arrange many widgets using qt designer
  • Decouple the python code from the generated qt ui code
  • Use css styling to greatly enhance the gui look-and-feel
  • Connect the gui to a sql database
  • Keep the gui responsive via multiple threads
  • Learn how to use many widgets in the pyqt5 toolbox
  • Develop guis in a modular style

Syllabus

Introducing the PyQt5 Framework

This video provides an overview of the entire course.

Installing the PyQt5 framework to work together with Python 3.

Read more
Creating GUIs using the latest version of Python 3 and the PyQt5 framework.
Adding widgets to the PyQt5 GUI in order to add functionality.
Exploring different ways to GUI layout design using PyQt5 layout managers.

Now that you are done with the videos of section 1, let’s assess your learning. Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

Designing Python GUIs with Qt Designer
In this video, we will install the PyQt5 tools package that contains the Qt Designer tool.
Creating GUIs using the Qt Designer with the PyQt5 framework.

In this video, we will learn to add widgets visually to the PyQt5 GUI using the Qt Designer.

In this video, we will learn to use different layouts to lay out our widgets in an organized fashion.

This video aims to explain the conversion of UI designer code into Python code.

Now that you are done with the videos of section 2, let’s assess your learning.Here, are a few questions, followed by 4 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

Enhancing the Qt5 GUI Functionality

In this video, we will learn to design two separate forms and then use Python code to invoke one form from the other form to call a dialog window from our main window.

In this video, we will design our GUIs using the Qt Designer, then convert the UI code into Python code.

In this video, we will learn to approach software complexity by using a modular approach for developing complex GUIs using PyQt5.

A GUI written in Python can have only one main thread. The PyQt5 framework is no exception. This video aims to explain that in order to keep our GUI responsive during long-running events, we have to make it multi-threaded.

In this video, we will learn about drag-and-drop functionality right into our own GUI.

Enhancing the Qt5 GUI functionality
Advanced Qt5 Programming

This video aims at drawing two and three-dimensional graphics within our PyQt5 GUI.

In this video, we will create TCP/IP clients that talk to a TCP/IP server. Further, we will store our data in an SQL database.

In this video, we will animate our widgets.
This video will help us customize our widgets.
In this video, we will use the Qt Designer to create new slots which we then implement in our Python code.

Now that you are done with the videos of section 4, let’s assess your learning. Here, are a few questions, followed by 2 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

User Interface Design

This video aims at creating beautiful and useful GUIs.

In this video, we will learn by looking at the good that exists.

In this video, we will learn how to use Python third-party modules to display maps.

In this video, we will create GUIs that can run on Windows desktops as well as on mobile devices.

In this video, we will rock the world with our GUIs written in Python and PyQt5.

Now that you are done with the videos of section 5, let’s assess your learning. Here, are a few questions, followed by 2 options, out of which 1 is the correct option. Select the right option and validate your learning! The answers are provided in a separate sheet

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers techniques used by professional software programmers
Shows learners how to use the PyQt5 Framework
Builds a foundation in GUI development for beginners with Python 3
Strengthens an existing foundation in GUI development for intermediate Python 3 learners
Provides hands-on practice through interactive exercises
May require students to have access to additional equipment and resources such as a computer with image/video editing software

Save this course

Save Python GUI Programming Recipes using PyQt5 to your list so you can find it easily later:
Save

Reviews summary

Decent pyqt programming course

Learners say this Python GUI programming course is well done and engaging. While the command line portions are difficult to follow, the course covers a variety of PyQt5 topics, including OpenGL, CSS, databases, and CSS.
Students appreciate the instructor, Burkhard Meier.
"Burkhard Meier is an excellent instructor."
The course offers a variety of programming examples.
"Many parts of the course were well done and better than expected."
Some reviewers mention that the command line portions of the course are challenging to follow.
"When command line programs were used, like pip and pyuic, there were overlay text graphics in the video that obscured the view of the commands being typed and the current directory name in the prompt."
The course structure is not always adequately explained in this course.
"In a few instances, widgets suddenly appeared with a vague explanation of how they were created."
"The Qt Designer tab widget defaults to two tabs. The remainder of the course covered new widgets and programming topics (i.e., OpenGL, CSS, Network, SQLite, etc.), each under a new tab."
"The course did not adequately explain or show how additional tabs were added to the parent tab widget. A new tab simply already existed at the beginning of each new session or topic, without explanation."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Python GUI Programming Recipes using PyQt5 with these activities:
Review Python basics
Refresh your understanding of Python basics to strengthen your foundation for this course.
Browse courses on Python Basics
Show steps
  • Review the Python syntax
  • Practice writing simple Python programs
  • Solve basic Python programming problems
Review object-oriented programming (OOP) concepts
Strengthen your understanding of OOP concepts to enhance your ability to work with PyQt5.
Browse courses on OOP Concepts
Show steps
  • Review the principles of OOP
  • Practice implementing OOP concepts in Python
  • Identify how OOP is used in PyQt5
Solve PyQt5 coding challenges
Sharpen your PyQt5 skills by solving coding challenges.
Browse courses on GUI Programming
Show steps
  • Find online coding challenges or create your own
  • Attempt to solve the challenges using PyQt5
  • Review your solutions and identify areas for improvement
Two other activities
Expand to see all activities and additional details
Show all five activities
Develop a GUI for a specific task
Apply your PyQt5 skills to create a functional GUI for a task of your choice.
Browse courses on GUI Development
Show steps
  • Identify a task that requires a GUI
  • Design the layout and interface of the GUI
  • Implement the GUI using PyQt5
  • Test and refine your GUI
Contribute to a PyQt5 open-source project
Gain practical experience and contribute to the PyQt5 community by participating in an open-source project.
Browse courses on GUI Development
Show steps
  • Choose an open-source PyQt5 project to contribute to
  • Understand the project's codebase and contribute
  • Submit pull requests with your fixes or improvements

Career center

Learners who complete Python GUI Programming Recipes using PyQt5 will develop knowledge and skills that may be useful to these careers:
Web Developer
Web Developers design, develop, and maintain websites and web applications. They use a variety of programming languages, including Python, to create the front-end and back-end of websites. This course will help you build a foundation in Python programming, which is essential for web development. You will also learn how to use the PyQt5 GUI framework to create interactive and visually appealing web applications.
Software Engineer
Software Engineers design, develop, and maintain software applications. They use a variety of programming languages, including Python, to create software that meets the needs of users. This course will help you build a strong foundation in Python programming, which is essential for software development. You will also learn how to use the PyQt5 GUI framework to create user-friendly and efficient software applications.
Data Scientist
Data Scientists use scientific methods and statistical techniques to analyze data and extract insights that can be used to improve decision-making. They use a variety of tools and techniques, including Python, to analyze data and build predictive models. This course will help you build a foundation in Python programming, which is essential for data science. You will also learn how to use the PyQt5 GUI framework to create interactive data visualizations that can be easily understood by non-technical users.
Data Analyst
Data Analysts collect, clean, and analyze data to help businesses make informed decisions. They use a variety of tools and techniques, including Python, to analyze data and identify trends. This course will help you build a foundation in Python programming, which is essential for data analysis. You will also learn how to use the PyQt5 GUI framework to create interactive data visualizations that can be easily understood by non-technical users.
User Experience Designer
User Experience Designers design and evaluate the user experience of websites, apps, and other products. They use a variety of tools and techniques, including prototyping and user testing, to create user-friendly and efficient products. This course will help you build a foundation in Python programming, which can be used to create interactive prototypes and user testing tools. You will also learn how to use the PyQt5 GUI framework to create visually appealing and user-friendly interfaces.
Interaction Designer
Interaction Designers design and evaluate the interaction between users and products. They use a variety of tools and techniques, including prototyping and user testing, to create user-friendly and efficient products. This course will help you build a foundation in Python programming, which can be used to create interactive prototypes and user testing tools. You will also learn how to use the PyQt5 GUI framework to create visually appealing and user-friendly interfaces.
Database Administrator
Database Administrators design, implement, and maintain databases. They use a variety of tools and techniques, including Python, to manage data and ensure that databases are running efficiently. This course will help you build a foundation in Python programming, which is essential for database administration. You will also learn how to use the PyQt5 GUI framework to create user-friendly and efficient database management tools.
Quality Assurance Analyst
Quality Assurance Analysts test and evaluate software applications to ensure that they meet the requirements of users. They use a variety of tools and techniques, including Python, to test software and identify bugs. This course will help you build a foundation in Python programming, which is essential for quality assurance. You will also learn how to use the PyQt5 GUI framework to create user-friendly and efficient testing tools.
Front-End Developer
Front-End Developers design and develop the user interface of websites and web applications. They use a variety of programming languages, including Python, to create the front-end of websites. This course will help you build a foundation in Python programming, which is essential for front-end development. You will also learn how to use the PyQt5 GUI framework to create interactive and visually appealing web applications.
Computer Programmer
Computer Programmers design, develop, and maintain computer programs. They use a variety of programming languages, including Python, to create software applications that meet the needs of users. This course will help you build a strong foundation in Python programming, which is essential for computer programming. You will also learn how to use the PyQt5 GUI framework to create user-friendly and efficient software applications.
UI Designer
UI Designers design and develop the user interface of websites and web applications. They use a variety of tools and techniques, including Python, to create the front-end of websites. This course will help you build a foundation in Python programming, which is essential for UI design. You will also learn how to use the PyQt5 GUI framework to create interactive and visually appealing web applications.
Technical Writer
Technical Writers create and maintain documentation for software and other technical products. They use a variety of tools and techniques, including Python, to create user manuals, tutorials, and other documentation. This course will help you build a foundation in Python programming, which can be used to create interactive documentation and user guides. You will also learn how to use the PyQt5 GUI framework to create user-friendly and visually appealing documentation.
Software Tester
Software Testers test and evaluate software applications to ensure that they meet the requirements of users. They use a variety of tools and techniques, including Python, to test software and identify bugs. This course will help you build a foundation in Python programming, which is essential for software testing. You will also learn how to use the PyQt5 GUI framework to create user-friendly and efficient testing tools.
IT Support Specialist
IT Support Specialists provide technical support to users of computer systems and networks. They use a variety of tools and techniques, including Python, to troubleshoot problems and resolve issues. This course will help you build a foundation in Python programming, which can be used to create self-service troubleshooting tools and automate support tasks. You will also learn how to use the PyQt5 GUI framework to create user-friendly and efficient support tools.
Network Administrator
Network Administrators design, implement, and maintain computer networks. They use a variety of tools and techniques, including Python, to manage networks and ensure that they are running efficiently. This course will help you build a foundation in Python programming, which can be used to create network management tools and automate network tasks. You will also learn how to use the PyQt5 GUI framework to create user-friendly and efficient network management tools.

Reading list

We've selected 13 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Python GUI Programming Recipes using PyQt5.
Provides a comprehensive overview of PyQt5, with a focus on practical examples. It covers everything from creating simple GUIs to using advanced features such as threading and database integration.
Provides a comprehensive overview of Python, with a focus on practical examples. It covers everything from the basics of Python to advanced topics such as object-oriented programming and data structures.
Provides a comprehensive overview of Python, with a focus on practical examples. It covers everything from the basics of Python to advanced topics such as object-oriented programming and data structures.
Provides a comprehensive overview of Python, with a focus on practical examples. It covers everything from the basics of Python to advanced topics such as object-oriented programming and data structures.
Provides a comprehensive overview of Python, with a focus on practical examples. It covers everything from the basics of Python to advanced topics such as object-oriented programming and data structures.
Provides a comprehensive overview of Python, with a focus on practical examples. It covers everything from the basics of Python to advanced topics such as object-oriented programming and data structures.
Provides a comprehensive overview of Python, with a focus on practical examples. It covers everything from the basics of Python to advanced topics such as object-oriented programming and data structures.
Provides a comprehensive overview of Python, with a focus on practical examples. It covers everything from the basics of Python to advanced topics such as object-oriented programming and data structures.
Provides a comprehensive overview of Python, with a focus on practical examples. It covers everything from the basics of Python to advanced topics such as object-oriented programming and data structures.
Provides a comprehensive overview of Python, with a focus on practical examples. It covers everything from the basics of Python to advanced topics such as object-oriented programming and data structures.
Provides a comprehensive overview of Python, with a focus on practical examples. It covers everything from the basics of Python to advanced topics such as object-oriented programming and data structures.
Provides a comprehensive overview of Python, with a focus on practical examples. It covers everything from the basics of Python to advanced topics such as object-oriented programming and data structures.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Python GUI Programming Recipes using PyQt5.
Estimating the Work within Your Team - Get the Most Value...
Most relevant
Python Desktop Application Development
Most relevant
Introduction to Qt 5.2: A C++ Cross Platform Application...
Most relevant
Qt 5 C++ GUI Development For Beginners : The Fundamentals
Most relevant
GUI Programming with Python
Most relevant
Qt 5 C++ GUI Development - Intermediate
Most relevant
Integrating Qt Quick 5 with C++
Most relevant
Programming with GUIs
Most relevant
Geospatial Analysis With Python (Vector Data)
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser