O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Python GUI Programming Solutions

Video Description

Over 80 object-oriented tasks to help you create mind-blowing GUIs in Python

About This Video

  • Use object-oriented programming to develop amazing GUIs in Python

  • Create a working GUI project as a central resource to develop your Python GUIs

  • Packed with easy-to-follow steps to help you develop code using the latest version of Python

  • In Detail

    Python is a multi-domain, interpreted programming language. It is a widely used general-purpose, high-level programming language. It is often used as a scripting language because of its forgiving syntax and compatibility with a wide variety of different eco-systems. Its flexible syntax enables developers to write short scripts while at the same time being able to use object-oriented concepts to develop very large projects.

    This course follows a task-based approach to help you create beautiful and very effective GUIs with the least amount of code necessary. This course uses the simplest programming style, using the fewest lines of code to create a GUI in Python, and then advances to using object-oriented programming in later sections. If you are new to object-oriented programming (OOP), this video course will teach you how to take advantage of the OOP coding style in the context of creating GUIs written in Python.

    Throughout this course, you will develop an entire GUI application, building features into it and connecting the GUI to a database. In the later sections, you will explore additional Python GUI frameworks using best practices. You will also learn how to use threading to ensure your GUI doesn't go unresponsive.

    By the end of the course, you will be an expert in Python GUI programming and will be able to develop a common set of GUI applications.

    Table of Contents

    1. Chapter 1 : Creating the GUI Form and Adding Widgets
      1. Introduction to Python GUI 00:04:45
      2. Adding a Label to the GUI Form 00:02:44
      3. Creating Buttons and Text Box Widgets 00:04:35
      4. Exploring Widgets 00:05:56
      5. Adding Extra Features 00:09:02
      6. Adding Several Widgets in a Loop 00:03:17
    2. Chapter 2 : Layout Management
      1. Arranging Several Labels within a Label Frame 00:03:54
      2. Using Padding to Add Space Around Widgets 00:03:57
      3. Expanding the GUI Dynamically Using Widgets 00:05:24
      4. Aligning the GUI Widgets by Embedding Frames within Frames 00:06:15
      5. Creating Menu Bars 00:06:32
      6. Creating Tabbed Widgets 00:07:07
      7. Using the Grid Layout Manager 00:03:47
    3. Chapter 3 : Look and Feel Customization
      1. Creating Message Boxes 00:04:46
      2. Creating Independent Message Boxes 00:03:41
      3. Creating the Title and Icon of the Main Root Window 00:03:30
      4. Using a Spinbox Control 00:05:24
      5. Creating Tooltips and Using the Canvas Widget 00:07:01
    4. Chapter 4 : Data and Classes
      1. Using the StringVar() Type 00:08:14
      2. Using Module-Level Global Variables 00:05:27
      3. Improving the GUI by Coding in Classes 00:06:30
      4. Creating Reusable GUI Components 00:02:55
    5. Chapter 5 : Matplotlib Charts
      1. Creating Beautiful Charts Using Matplotlib 00:03:56
      2. Downloading Modules for Matplotlib 00:07:07
      3. Creating Our First Chart 00:02:14
      4. Placing Labels on Charts 00:05:11
      5. Giving the Chart a Legend 00:03:32
      6. Scaling Charts 00:02:56
      7. Adjusting the Scale Dynamically 00:05:01
    6. Chapter 6 : Threads and Networking
      1. Creating Multiple Threads 00:04:56
      2. Starting a Thread 00:04:57
      3. Stopping a Thread 00:04:18
      4. Using Queues 00:06:10
      5. Passing Queues among Different Modules 00:05:07
      6. Using Dialog Widgets to Copy Files to Your Network 00:09:17
      7. Using TCP/IP to Communicate via Networks 00:05:25
      8. Using URLOpen to Read Data from Websites 00:05:44
    7. Chapter 7 : Storing Data in Our MySQL Database via Our GUI
      1. Connecting to a MySQL Database from Python 00:06:34
      2. Configuring the MySQL Connection 00:07:24
      3. Designing the Python GUI Database 00:08:43
      4. Using the SQL INSERT Command 00:03:28
      5. Using the SQL UPDATE Command 00:03:17
      6. Using the SQL DELETE Command 00:05:54
    8. Chapter 8 : Internationalization and Testing
      1. Displaying Widget Text in Different Languages 00:05:48
      2. Changing the Entire GUI Language All at Once 00:04:42
      3. Localizing the GUI 00:06:56
      4. Preparing the GUI for Internationalization 00:04:09
      5. Designing a GUI in an Agile Fashion 00:05:06
      6. Do We Need to Test the GUI Code? 00:06:02
      7. Setting Debug Watches 00:06:46
      8. Configuring Different Debug Output Levels 00:04:28
      9. Creating Self-Testing Code Using Python's __main__ Section 00:06:02
      10. Creating Robust GUIs Using Unit Tests 00:05:34
      11. Writing Unit Tests Using the Eclipse PyDev IDE 00:07:47
    9. Chapter 9 : Extending Our GUI with the wxPython Library
      1. Installing the wxPython Library 00:05:36
      2. Creating Our GUI 00:04:00
      3. Adding Controls 00:07:17
      4. Embedding the tkinter and wxPython GUIs into Each Other 00:05:36
      5. Using Python to Control Two Different GUI Frameworks 00:04:04
      6. Communicating Between the Two Connected GUIs 00:05:56
    10. Chapter 10 : Creating Amazing 3D GUIs with PyOpenGL and Pyglet
      1. PyOpenGL Transforms Our GUI 00:06:28
      2. Our GUI in 3D 00:04:51
      3. Pyglet Transforms Our GUI More Easily Than PyOpenGL 00:04:41
      4. Creating a Slideshow Using tkinter 00:04:52
    11. Chapter 11 : Best Practices
      1. Avoiding Spaghetti Code 00:03:52
      2. Using __init__ to Connect Modules 00:06:26
      3. Mixing Fall-Down and OOP Coding 00:02:55
      4. When Not to Use OOP 00:02:20
      5. Using Design Patterns Successfully 00:02:57
      6. Avoiding Complexity 00:05:59