Tkinter GUI tutorial in Python

Programming GUIs and windows with Tkinter and Python Introduction

Hello and welcome to my Tkinter mega-series, where I walk you through the creation of an actual application made with Python and Tkinter.

Are you just looking for the basics of Tkinter? Check out the miniseries within the here:

Many people are under the impression that Python and Tkinter are just plain not suitable for making applications, and I think they are wrong. The problem is no one actually appears to have shown people how to do it, so I will take that upon myself!

What we're going to be making here is a trading application for Bitcoin. The application will mainly:

  • Have multiple windows / navigation.
  • Have Live Matplotlib Graphs, displaying the Bitcoin price from various exchanges.
  • Allow the user to execute trades manually.
  • Allow the user to execute trades automatically.

This will keep us busy enough, and even these four things are very in-depth. The main concern with using Python for this application is resource allocation. Python naturally is single-threaded, and very linear. If any one single operation is taking a while to occur, the entire application will halt while that operation is in process. This is a huge downside, and the main reason people immediately discount Python for creating all sorts of programs, including GUI applications. This is a shame, since you can very easily thread Python, and do many other things. We wont be able to utilize GPU processing here, but that is another option as well, but it would severely limit the amount of people who would be able to use the application (limiting to people with CUDA enabled Nvidia GPUs).

While all of this might sound very confusing and daunting, what I plan to do is hold your hand through the entire process, explaining everything at every step of the way. If you ever get lost, you can always comment on the matching YouTube tutorial video that is included in each section, and I will be happy to assist you.

With that, let's get started!

The next tutorial:

  • Programming GUIs and windows with Tkinter and Python Introduction
    You are currently here.
  • Object Oriented Programming Crash Course with Tkinter
  • Passing functions with Parameters in Tkinter using Lambda
  • How to change and show a new window in Tkinter
  • Styling your GUI a bit using TTK
  • How to embed a Matplotlib graph to your Tkinter GUI
  • How to make the Matplotlib graph live in your application
  • Organizing our GUI
  • Plotting Live Updating Data in Matplotlib and our Tkinter GUI
  • Customizing an embedded Matplotlib Graph in Tkinter
  • Creating our Main Menu in Tkinter
  • Building a pop-up message window
  • Exchange Choice Option
  • Time-frame and sample size option
  • Adding indicator Menus (3 videos)
  • Trading option, start/stop, and help menu options
  • Tutorial on adding a tutorial
  • Allowing the exchange choice option to affect actual shown exchange
  • Adding exchange choice cont'd
  • Adding exchange choices part 3
  • Indicator Support
  • Pulling data from the Sea of BTC API
  • Setting up sub plots within our Tkinter GUI
  • Graphing an OHLC candlestick graph embedded in our Tkinter GUI
  • Acquiring RSI data from Sea of BTC API
  • Acquiring MACD data from Sea of BTC API
  • Converting Tkinter application to .exe and installer with cx_Freeze