
Discover PySide6—Qt for Python—from installation to widgets, signals and slots, menus, drawing, multimedia, charts, animations, and building sample apps like a web browser.
Learn to set up PySide6 (Qt for Python) with Python prerequisites, and use Qt Creator as the IDE, using Python 3.9–3.10 and the community edition.
Explore PySide6, the Qt for Python bindings, install the package, and build your first GUI window using QApplication and QWidget to create a simple, native-looking desktop interface.
Discover how to install Qt6 via the online open-source installer, configure MinGW or Visual Studio, and set up Qt Creator, designer tools, and optional libraries for PySide6 development.
Explore window type classes in PySide6, including QMainWindow, QDialog, and QWidget, and learn to build main windows with toolbars, status bars, and menus through practical examples.
Learn to add an icon and customize a PySide6 window using an object-oriented QWidget class, setting the window title and geometry, and applying a QIcon with a generated resources.py.
Explore how PySide6 designer enables drag-and-drop gui design with widgets and signals and slots, and learn two ways to use the ui file in Python.
Convert a dot ui file to a python file in a PySide6 project, save as main_window.py, and import the generated UI module to display the same window.
Learn to load a ui file directly in PySide6 using the cu ui loader. Create a queue application, set the ui file name, load, handle errors, and show the window.
Learn to use Qt Creator and Qt Designer to create a widget.ui file and load it in PySide6, building a window with a push button and a radio button.
Learn to create and customize a QPushButton in PySide6, including setting geometry and font with QFont, and configuring icon and icon size with QSize.
Demonstrate using QLabel in PySide6 to display text or images, configure font, geometry, and stylesheet, and show images or animated gifs with pixmap and movie functionality.
Explore using the QLineEdit widget, a one-line text editor with undo/redo, cut and paste, and drag-and-drop, then customize font, placeholder, and password echo mode.
Learn layout management in PySide6 by using QHBoxLayout to align four push buttons horizontally in the main window.
Learn to align widgets vertically with QVBoxLayout by creating a simple window, adding three push buttons, inserting them into the vbox, and applying the layout to the main window.
Learn to use a QGridLayout to align widgets in rows and columns by adding push buttons with grid.addWidget, creating a 2x2 grid, and setting the grid layout on the window.
Learn how PySide6 signals and slots connect a button click to a slot that updates a label, font size, and color, enabling responsive GUIs.
Learn to build a widget-based Qt Designer interface in PySide6, using a line edit, label, and push button with layouts, and connect signals to slots to update the label.
Showcase the QRadioButton class by building a flight type selector with three options—first class, business class, and economy class—and a total label that updates on toggle, via the designer.
Learn how to use the QCheckBox class in PySide6 to toggle features, react to the state changed signal, and update a running total in a Qt-based interface.
Learn to use the Q spin box for integers, connect valueChanged and editingFinished signals, and build a user interface that calculates total price from laptop price and spin box value.
Build a PySide6 UI with a horizontal slider and scrollbar, two labels for sugar level and blood pressure, and live updates to a line edit using horizontal and vertical layouts.
Learn the QLCDNumber class in PySide6 to display decimal, hexadecimal, octal, and binary numbers; connect via the display slot and create a system clock updater with a 1000 ms timer.
Create a PySide6 window with a QComboBox, populate items, customize the font, and display the selected account type in a label by connecting currentTextChanged to update the result.
Explore the QListWidget class in PySide6 to build a dialogue with a list widget and empower add, edit, remove, and sort actions via an internal model.
Learn to create font and color dialogs in PySide6, wire them to push buttons, and apply selected font and color to a text edit within a Qt for Python UI.
Learn to create and populate a QTableWidget in PySide6, set rows and columns, add items with QTableWidgetItem, apply a style sheet, and arrange in a vertical layout.
Learn to use the QCalendarWidget class in PySide6 to create a monthly calendar, select dates, and update a label with the chosen date, while customizing grid, font, and layout.
Build a print user interface in PySide6—Qt for Python that supports printing, print preview, and exporting to PDF.
Explains signals and slots in Qt Designer and demonstrates creating a widget-based PySide6 project, adding a push button and label, and wiring a button click to hide the label.
Connect a horizontal slider to a QProgressBar using the setValue slot in PySide6. Convert the UI file and wire the slider moved signal to update the progress bar.
Demonstrates one signal connected to multiple slots in a Qt for Python UI with a horizontal slider, updating the progress bar and LCD number as the slider moves.
Bind a single slot to multiple signals in PySide6, wiring a dial and a horizontal slider to an LCD number display via a loaded UI form.
Create dynamic, real-time interfaces with PySide6. Build a dynamic form with a combo box and box layout to show or hide fields by selections.
Explore advanced signals and slots in PySide6, enabling inter-widget communication and custom signal definitions. Learn to emit and connect signals across widgets to coordinate events.
Learn model view programming in Python with PySide6, separating data from presentation; create models using abstract item model and standard item model, and display data with table and list views.
Explore how PySide6 item delegates customize item appearance and behavior in the model-view framework, enabling custom rendering, in-place editing, interactions, validation, and context actions with standard and styled delegates.
Explore list view and table view in PySide6, guided by the model view architecture and QStandardItemModel. Build practical examples that display data in list and table formats.
Create a styles.css, load it in the PySide6 app, and apply the stylesheet to the main window and label, then set background color, font size, padding, and border radius.
Learn to build and apply custom themes for PySide6 applications by loading external stylesheets, styling widgets like push buttons, and previewing hover and active states in a main window.
Explore dynamic styling in PySide6 by changing a button's background color in real time based on user interactions, using style sheets and layouts to build responsive interfaces.
Learn to add a menu bar with file and help menus, assign shortcuts, and customize toolbars in a PySide6 main window project by building a simple contact list app.
Add widgets to the UI design, including a table view, label, and line edits, and compare traditional containers with model view programming before building and laying out the design UI.
Add header to the table view using Q standard item model and Q standard item, set the horizontal header item, and assign the model to the table view.
Learn to add items to a qtableview with qstandarditem and qstandarditemmodel, creating text items and placing them in the model at row 0, columns 0 and 1.
Add items to a QTableView by clicking, using PySide6 Qt for Python; capture name and phone from line edits, create QStandardItem entries, update the model, and clear fields after saving.
Learn to use QMessageBox in PySide6 to show information, warning, and about dialogs, and connect them with the triggered signal.
Clear all items from the QTableView in PySide6 using a QMessageBox confirmation with 'Do you want to delete all items?' and Yes/No buttons; on Yes, clear the model.
Learn to clear a single item from a Qt for Python table view by using the selection model to remove the chosen row via a push button.
Learn how to draw a rectangle using QPainter in PySide6, override the paint event, and customize pen and brush with colors, styles, and patterns.
Draw an ellipse in a PySide6 window by handling the paint event with QPainter, setting pen and brush styles, and specifying the ellipse’s x, y, width, and height.
Learn to render text in PySide6 applications using QPainter to draw text and draw rect, and employ QTextDocument for HTML-formatted content with adjustable width, font size, and color.
Learn to use the QLinearGradient class with QBrush and QPainter in PySide6, creating a linear gradient from start to end points and coloring at positions before drawing a rectangle.
Learn to implement a radial gradient in PySide6 with QRadialGradient, setting the focal point and radius and coloring from dark gray to green and yellow.
Learn to create a conical gradient with Qt for Python using QPainter and QConicalGradient to paint colors around a point, set start angle, and define red, green, and yellow stops.
Build a pySide6 window with a box layout and labels for mouse press and release. Capture left button events to display X and Y on the press and release labels.
Learn how QGraphicsView displays a QGraphicsScene with a scrollable viewport, and how to create and visualize 2D items like ellipses and rectangles using brushes and pens, with movable items.
Explore using the QGraphicsRectItem class to add a rectangle to a PySide6 QGraphicsScene, using setRect and rect to control its position and size in a Qt for Python app.
Explore handling key press events on a PySide6 QGraphicsRectItem, moving the rectangle with arrow keys by ten units and enabling focus for keyboard input.
Apply colorize, drop shadow, blur, and opacity effects to graphics in PySide6 (Qt for Python) using labels and images.
Build a simple paint application with PySide6 (Qt for Python) by creating a main window, configuring brush sizes and colors, and implementing clear and save actions with icons.
Build a PySide6 paint app with a white canvas using QPainter. Handle mouse press, move, and release to draw with a configurable brush color and size via QPen.
Develop a PySide6 paint app by implementing save and clear actions, brush size options (3,5,7,9), color choices (black, white, red, green, yellow), and file dialog saving in png or jpg.
Learn to build a PySide6 GUI and establish a SQLite database connection by wiring a button to create and confirm a database, and display connection status.
Create a sqlite3 table in a PySide6 Qt for Python app by connecting to the database and creating a user table with id, first name, last name, and age.
Develop a widget-based Qt interface to enter first name, last name, and age, then insert data into a SQLite database, displaying the result and clearing fields after insertion.
Learn how to build a PySide6 UI to create a MySQL database, install the MySQL Connector Python, and establish a connection check between a Python app and a MySQL server.
Design a PySide6 gui to collect name, age, and email with labels and line edits, then connect to MySQL and insert data into an employ table.
Design and implement a PySide6 interface to update MySQL data, including labels for id, name, age, and email, a button to update data, and a result label.
Learn to design a PySide6 UI for deleting records from a MySQL database, capture an ID, and execute a delete operation with feedback on success or failure.
Learn how to establish a MySQL connection in PySide6 using QSqlDatabase, including driver plugins, setting host, username, and database, and handling errors.
Explore how the QSqlQueryModel provides a read-only data model for sql results and feeds a QTableView in a PySide6 app, with a local mysql database connection.
Explore the QSqlTableModel in PySide6, an editable data model for a single database table built on QSqlQuery. Use with QTableView to display and edit records.
Design a music player user interface with the PySide6 multimedia module, adding a slider, timer label, play/pause/stop and volume controls, plus a resource file for icons.
Learn to build a music player with pyside6 by creating a media player, opening music files, and wiring play, pause, stop, volume, mute, and timer controls.
Create a video player UI in PySide6, adding a queue main window with a video frame, play/pause/stop, volume slider, time label, and resource icons.
develop a PySide6 video player by wiring QMediaPlayer to a video widget and audio output, enabling open file, playback controls, volume, and a live progress timer.
Hello Students
Welcome to Python GUI Development with PySide6 - Qt for Python course, first of all let me talk little bit about Qt for Python and after that i talk about the course structure, now PySide6 is the official Python module from the Qt for Python project, which provides access to the complete Qt 6.0+ framework. The Qt for Python project is developed in the open, with all facilities you'd expect from any modern OSS project such as all code in a git repository and an open design process.
This course is divided on to different sections
1: In this section we will have a simple introduction to PySide6 (Qt for Python) and after that we will go through PySide6 installation and than we create our first GUI window with PySide6.
2: In this section we dive in to the PySide6 widgets and we talk about different widgets and also layout management that you can use in Qt for Python.
3: In this section we talk about Signals and Slots mechanism in PySide6 and we talk about different types of Signals and Slots that you can use in PySide6.
4: This section is dedicated to MenuBar and MenuItems, also we will talk about using QTableView, we create a simple contact list application.
5: In this section we learn about Drawing and Graphics, we create some examples on 2D graphics in PySide6, also we build a simple paint application.
6: This is the section that we talk about database functionality inside your PySide6 GUI application, basically we talk about MySQL and SQLite databases.
7: In this section we talk about QtMultimedia module and we create a simple Music and Video player with PySide6 and Python.
8: In this section we create some on charts and we talk about QtCharts module.
9: In this section we learn about different animations in Qt for Python.
10: In this section we talk about QtWebEngine module and we create a simple web browser with QtWebEngine.
11: In the eleventh section we start our QtQuick journey and we create QtQuick examples using Qt Creator.
12: In this section i will talk about QtQuick Controls
13: This section is dedicated to different animations using QtQuick in PySide6.