
Explore PyQt5 from basics to real-world projects, covering basic and advanced widgets, using Qt Designer, and building apps through coding and drag-and-drop design.
Download Python from the official site, verify the installation in your workspace, upgrade to Python 3.10, install Visual Studio Code, and add the Python extension to start the course.
Learn how PyQt5 provides Python bindings for Qt framework and how to install it across Windows, Linux, and Mac. Verify the installed versions in Visual Studio and prepare for coding.
Learn to use PyQt5 date and time classes, including QDate, QTime, and QDateTime, to print current date and time in ISO and local formats.
Learn to build your first PyQt5 application by creating a QApplication, a window widget, and a label, then adjust geometry and set the window title.
Create a PyQt5 application that adds push buttons, sets their text and geometry, and handles clicks with functions connected to each button to print name or age.
Learn how to manage PyQt5 window geometry and layout to create responsive interfaces across devices, and avoid absolute positioning by using box layouts and grid layouts.
Build a pyqt5 form using qformlayout with labels and qlineedit inputs for first name, last name, and extra information. Use vertical and horizontal box layouts with radio buttons.
Learn to create QLabel widgets, set text, and attach them to a window; organize two labels with alignment and stretch in a layout to control their positions.
Learn to create and customize a line edit in PyQt5, add it to a form layout, apply integer and double validators, enforce max length and alignment, and configure read-only font.
Build a PyQt5 dialog with multiple push buttons, wire clicks with lambdas to print button text, and learn to enable, disable, and set a default button while checking pressed states.
Create a PyQt5 radio button interface by building two QRadioButton widgets, arranging them in a horizontal QHBoxLayout, and connecting them with lambda callbacks to report which button is checked.
Learn how to implement checkboxes in PyQt5 by creating QCheckBox widgets, arranging them in a horizontal layout, and handling state changes to print which one is selected.
Learn how to build and configure a PyQt5 combo box, populate it with items, connect signals to track the current index, and display the selected text in a basic window.
Learn to build and configure a PyQt5 spin box (QSpinBox), display its value with a label, center it in the layout, and print the current value on changes.
Explore PyQt5 by building a versatile slider with horizontal and vertical options, min/max/value initialization, tick marks, and signals like valueChanged and released.
Learn to build a menu bar on a qmainwindow with qmenubar, add menus like first and second, and assign actions such as create, save as, and quit.
Learn how to create a toolbar in PyQt5, add actions with icons like save, open, and exit, connect actions to functions, and configure toolbar properties such as movable.
Learn to build and use input dialogs in PyQt5 with QInputDialog, creating form layouts, line edits, and buttons to capture names, ages, and categories.
Learn how to implement a font selection dialog in PyQt5 using QFontDialog, dynamically update a label with the chosen font, and handle ok and cancel actions.
Learn to use PyQt5's QFileDialog to select images and text files, display images in a label, and read file content into the UI.
Learn how to implement tabbed interfaces in PyQt5 using the cutup widget, create two tabs with forms for first and last name, and handle current index changes.
Explore the PyQt5 Q Stack class and a queue stacked widget, building multiple stacks, adding widgets, setting layouts, and toggling between stacks via a left list and current row changed.
Learn to use the PyQt5 QSplitter to create resizable panels with horizontal and vertical splitters, adding text edits and widgets inside nested layouts.
Learn to build a PyQt5 docked interface by creating a main window with a dock widget, a list of items, and movable left dock features.
Create a PyQt5 application with a main window, a menu bar, and a status bar; wire actions to update a text editor and display status messages.
Learn to implement a scrollbar in PyQt5 by building a simple application with qapplication and qwidget, connecting sliderMoved and valueChanged signals, printing values, and adjusting min and max as needed.
Build a PyQt5 QCalendarWidget using QApplication and QWidget, add it to a QBoxLayout, and connect dateChanged to display the selected date, optionally updating a QTextEdit.
Learn to implement a drag and drop feature in PyQt5 with an object-oriented approach, building a main function, a custom widget, and a drag drop class for text data.
Learn to install Qt Designer for PyQt5, then design dialogs with drag-and-drop widgets like text edits, line edits, and buttons, and build mini projects using multiple features.
Explore PyQt5 basics, including the main menu bar, widget box, object inspector, and property editor. Learn to add widgets, manage resources, and configure dialogs to build a functional UI.
Explore the PyQt5 widget box by building main windows and widgets, configuring menus, actions, and separators, and designing with drag-and-drop layouts (horizontal, vertical, grid).
Learn to build a simple Qt designer application with PyQt5 by creating a UI file, loading it in Python via uic, and arranging widgets with horizontal and vertical layouts.
Learn how to convert a simple UI into a Python script using pyuic5, generating a runnable file with extracted widgets like push buttons, labels, and menus.
Explore Qt Designer layouts, including horizontal, vertical, and grid, and learn to create, style, and arrange push buttons and labels for responsive PyQt5 forms.
Learn to create a PyQt5 dialog with labels and line edits for name, email, phone, and address, and fix form tab order using the edit order feature for intuitive navigation.
Define bodies in PyQt5 by assigning ampersand mnemonics to labels and linking them to their widgets, enabling alt-key shortcuts to quickly navigate form fields.
Explore PyQt5 slots and signals by wiring text edits and push buttons to clear fields, trigger submissions, and show a submission success message.
Learn to build a two-player dice game in PyQt5, track scores and current round, and use roll or hold to reach 100 points, with a new game reset.
Build a PyQt5 dice game by importing dice images, creating the main window and a styled new game button, and applying a hover-enhanced style with a custom cursor.
Build the players interface in a PyQt5 app by adding player one, player two, a new game button, and a grid layout with centered score labels initialized to zero.
Add player score displays with zero scores in a two-column grid. Show dice images scaled to 80 by 80 with center alignment and spacing for roll and hold buttons.
Build a dice game UI in PyQt5 by adding roll dice and hold push buttons, configuring a grid layout for two players, and styling the front end elements.
Create a roll dice function in PyQt5 that updates both players' scores and dice images using random values from 1 to 6.
Implement the hold, new game, and winner functions in a PyQt5 dice game, update global and current scores, and sync player labels and their text.
In this project, we are going to create a Quiz of 3 mainframes: The welcome page, the questions page, and the score page.
In this part, we are going to start building the quiz, by creating the first frame which will serve as a welcome page for the users.
In this part, we will move to the second frame of the quiz which will be the core of our application: this is where all questions and answers will be displayed for the user to view.
Create a reusable function to generate four answer buttons, apply a shared style sheet, and position them in a grid for the PyQt5 quiz interface.
Learn to implement a 10-minute countdown timer in PyQt5 by creating a timer, a global label, and a timer event that decreases every second and updates the display.
Build frame three of a PyQt5 quiz app by creating a cuvee box layout, adding score and question labels, centering content, and styling with a stylesheet.
Learn to build a PyQt5 quiz app by linking frames with buttons, clearing grid, and using arrays for questions, answers, and user answers to check correct answers and compute score.
Learn to build a PyQt5 quiz backend by wiring button clicks, validating answers against a correct list, and updating frames to display questions and answers.
In this course, you are going to learn about python's most famous graphical user interface: PyQt5.
We are going to follow the following outline:
-First, we are going to learn about the basic widget of PyQt5 such as the layout, label, buttons, bars, and much more.
-Second, we are going to move into some advanced widgets and topics such as input, font, and file dialog, stacks, tabs, and splitters.
-Then, we are going to learn about PyQt's famous tool "Qt Designer" which is going to allow to the creation of an application using the drag and drop technique. We will have a detailed walkthrough of all of the features of this tool to be able to build any application smoothly.
-Finally, we are going to have a list of projects that will be always updated. The projects list contains:
1-Dice Game: Build a Dice Game Using PyQt5 widgets and learn how to connect different functions to their corresponding buttons. In addition, you are going to learn how to use CSS in PyQt5 to improve the user's overall experience in your GUI applications.
More projects will be added on a regular basis.
I hope you enjoy this course, and I would like to add that I will be available anytime throughout your journey in this course, and if you have any questions, concerns, or feedback, I will be happy to hear and answer them!