
Learn to build desktop applications with pysimplegui in python by creating windows, layouts, and dynamic interfaces, and complete projects including a calculator, a to-do list, and a script interface.
Install Python on Windows, add Python to PATH, verify the installation, and launch Jupyter to begin exploring with pip and notebooks.
Install and verify Python on macOS, use pip to manage packages, and set up PyCharm Community Edition with developer tools for the PySimpleGUI course.
Install python 3.8 on Ubuntu Linux, configure python package manager (pip), and set up jupyter notebook or lab to run scripts via the command line.
Learn to create and customize popup dialogs with PySimpleGUI, including message boxes, input prompts, file and folder pickers, and configurable icons, titles, and colors.
Explore creating graphical user interfaces with PySimpleGUI by building windows from layouts, adding buttons and menus, handling events, and reading user input and values.
Explore dynamic PySimpleGUI interfaces that show and hide elements by events, update text and visibility, and manage multiple layouts to add and delete files with per-file delete controls.
Build a simple calculator using PySimpleGUI in a two-column layout with an input display and number and operator buttons. Handle operations and show results when pressing equals.
Build a dynamic to-do list in PySimpleGUI, enabling on-the-fly addition and deletion of tasks, with clicking a task removing it while the window stays open.
Python is the fastest-growing programming language in the industry, and among the most popular programming languages in the world.
It's not a hard language for beginners to pick up and for intermediate or advanced programmers to advance, which is why the need to learn this language has increased exponentially over the past few years.
Python is a scripting language which means that you will write some code and run it in the terminal or command line. Running the code in the command-line will make it harder for the users to adopt your applications, so what if you want your application to have a fancy user interface this requires that your applications have a GUI.
In simple terms, GUI is a desktop app that provides you with an interface that helps you to interact with the script and enriches the user experience.
My name is Yasser Abbass. I'm a software engineer and I will be your instructor for this course
I have been in programming for the past 30 years and specifically in python for the past decade.
David Schaffer: "This course made me literally fall in love with PysimpleGUI. I recommend it. The teacher's great; I wish he had more courses on python on Udemy."
This course assumes that you have previous Python knowledge for instance (data types, conditional logic, loops, collections, etc) and it will teach you how to create professional python GUI stand-alone applications
The course is divided into several lectures we will be building 3 projects with varying levels of difficulty.
Some of the projects we will be building together are:
- Calculator Project
- Todo List Project
- File Backup Project.
But don't worry you will be able to create those projects and more as you follow along with the course and with the skills you learned you will be able to apply them to your projects. You will also be able to download all the source code for all the lectures and the projects.
During this course, you will learn:
- How to install the software on Windows, Mac, and Linux.
- An introduction to Jupiter-lab.
- Data types, Conditional logic, looping, and collections.
- Functions, modules, and built-in functions.
- How to install the PySimple GUI.
- How to install PyInstaller.
- How to create and work with popups.
- How to create and work with Elements (buttons, sliders, checkbox, etc).
- How to create and work with Windows.
- How to create and work with Layouts.
- How to create dynamic Layouts.
- How to show and hide elements.
- How to add and remove elements to the window while it is running.
Finally, if you are stuck you can drop a question in the Q&A and me, or one of my teaching assistants will answer you promptly