Table of contents : Creating the GUI Form and Adding Widgets Chevron down icon Creating the GUI Form and Adding Widgets Introduction Creating our first Python GUI Preventing the GUI from being resized Adding a label to the GUI form Creating buttons and changing their text property Text box widgets Setting the focus to a widget and disabling widgets Combo box widgets Creating a check button with different initial states Using radio button widgets Using scrolled text widgets Adding several widgets in a loop Layout Management Chevron down icon Layout Management Introduction Arranging several labels within a label frame widget Using padding to add space around widgets How widgets dynamically expand the GUI Aligning the GUI widgets by embedding frames within frames Creating menu bars Creating tabbed widgets Using the grid layout manager Look and Feel Customization Chevron down icon Look and Feel Customization Introduction Creating message boxes - information, warning, and error How to create independent message boxes How to create the title of a tkinter window form Changing the icon of the main root window Using a spin box control Relief, sunken and raised appearance of widgets Creating tooltips using Python Adding a progressbar to the GUI How to use the canvas widget Data and Classes Chevron down icon Data and Classes Introduction How to use StringVar() How to get data from a widget Using module-level global variables How coding in classes can improve the GUI Writing callback functions Creating reusable GUI components Matplotlib Charts Chevron down icon Matplotlib Charts Introduction Creating beautiful charts using Matplotlib Installing Matplotlib using pip with whl extension Creating our first chart Placing labels on charts How to give the chart a legend Scaling charts Adjusting the scale of charts dynamically Threads and Networking Chevron down icon Threads and Networking Introduction How to create multiple threads Starting a thread Stopping a thread How to use queues Passing queues among different modules Using dialog widgets to copy files to your network Using TCP/IP to communicate via networks Using urlopen to read data from websites Storing Data in our MySQL Database via our GUI Chevron down icon Storing Data in our MySQL Database via our GUI Introduction Installing and connecting to a MySQL server from Python Configuring the MySQL database connection Designing the Python GUI database Using the SQL INSERT command Using the SQL UPDATE command Using the SQL DELETE command Storing and retrieving data from our MySQL database Using the MySQL workbench Internationalization and Testing Chevron down icon Internationalization and Testing Introduction Displaying widget text in different languages Changing the entire GUI language, all at once Localizing the GUI Preparing the GUI for internationalization How to design a GUI in an agile fashion Do we need to test the GUI code? Setting debug watches Configuring different debug output levels Creating self-testing code using Python's __main__ section Creating robust GUIs using unit tests How to write unit tests using the Eclipse PyDev IDE Extending Our GUI with the wxPython Library Chevron down icon Extending Our GUI with the wxPython Library Introduction Installing the wxPython library Creating our GUI in wxPython Quickly adding controls using wxPython Trying to embed a main wxPython app in a main tkinter app Trying to embed our tkinter GUI code into wxPython Using Python to control two different GUI frameworks Communicating between the two connected GUIs Creating Amazing 3D GUIs with PyOpenGL and PyGLet Chevron down icon Creating Amazing 3D GUIs with PyOpenGL and PyGLet Introduction PyOpenGL transforms our GUI Our GUI in 3D! Using bitmaps to make our GUI pretty PyGLet transforms our GUI easier than PyOpenGL Our GUI in amazing colors OpenGL animation Creating a slide show using tkinter Best Practices Chevron down icon Best Practices