Control your Rasp Pi projects with Python’s Tkinter library

The Tinkerer

© Lead Image © agor2012,

© Lead Image © agor2012,

Article from Issue 209/2018

Use Tkinter to control your Rasp Pi projects from a smartphone or tablet.

If you are looking for an easy way to control your Raspberry Pi projects, consider Python's Tkinter library. In about 20 lines of Python code, you can create a graphic program to control a Rasp Pi rover project (Figure 1). This article shows how to create a Python Tkinter application to control the Rasp Pi's General Purpose Input Output (GPIO) pins. I will also show you how to set up a desktop shortcut that you can use to easily launch the application, and I will configure a Virtual Network Computing (VNC) server so that a smartphone, tablet, or PC can control the Rasp Pi remotely.

Figure 1: Tkinter-controlled rover.

Python Tkinter Library

Tkinter [1] is bundled with the standard Rasp Pi Python installation. The base Tkinter library contains 17 different widgets that you can use for graphic applications. These widgets can be defined with customizable colors, sizes, text, and commands. There are three geometry managers (Pack, Grid, and Place) that can be used to arrange the widgets. For Rasp Pi hardware projects, I found the Grid geometry manager was a good fit. Listing 1 is a simple test program that presents two buttons in a grid and prints feedback when the buttons are pressed. (Note: Python 2.7 references the library as Tkinter, whereas Python 3 uses tkinter, lowercase). Figure 2 shows this test program with some button feedback.


Use Express-Checkout link below to read the full article (PDF).

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Tutorials – TkInter

    Expand your Python knowledge and write GUI apps with a smattering of code, thanks to the TkInter toolkit.

  • Practical Python in Linux

    We’ll introduce you to Python, an easy-to-learn scripting language, and also help you get started creating your own practical Python scripts.

  • Pi FM Radio

    Low-cost RTL-SDR dongles can read frequencies between 24 and 1,766MHz. We built a simple FM radio with a Raspberry Pi, a USB dongle based on the RTL2832U chipset, an LCD HAT, and some Python code.

  • RaspPi-Controlled Toy Sailboat

    With Node-RED, you can create a web dashboard that instructs a Raspberry Pi to set the rudder position on a toy sailboat.

  • Workspace: EasyGUI

    If you need to add graphical elements to Python script, EasyGUI can help beginners and experts alike.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95