Differences between revisions 141 and 144 (spanning 3 versions)
Revision 141 as of 2019-01-05 13:41:08
Size: 6891
Editor: ChapinBryce
Comment: Removed dead link
Revision 144 as of 2020-05-30 07:15:50
Size: 6083
Comment: Removed two 404 error links. Replaced them with another Tkinter tutorial link.
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
 * [[http://staff.washington.edu/rowen/TkinterSummary.html|Tkinter Summary]]
 * [[http://staff.washington.edu/rowen/ROTKFolklore.html|Tkinter Folklore]]
 * [[http://www.packtpub.com/tkinter-gui-application-development-hotshot/book|Tkinter GUI Application Development Hotshot]] by Bhaskar Chaudhary, published October 2013, is available in print and eBook versions. The book enables users to develop GUI applications in Python and Tkinter by working on ten real world examples.
 * [[https://www.packtpub.com/application-development/tkinter-gui-application-development-projects-video|Tkinter GUI Application Development Projects [Video]]] by Bhaskar Chaudhary, published on November 30, 2016. Now you can master GUI programming in Tkinter as you design, implement,and deliver ten real-world applications from start to finish.

David McNab recommended the latter two as particularly "pythonic" in not insisting that readers think in Tcl.
 * [[https://coderslegacy.com/python/python-gui/|Python GUI with Tkinter]] covers all the widgets for the Tkinter library with examples
Line 19: Line 13:
 * [[http://docs.python.org/lib/tkinter.html|Graphical User Interfaces with Tk]], a chapter from the [[http://docs.python.org/lib/lib.html|Python Library Reference]]..  * [[https://docs.python.org/3/library/tk.html|Graphical User Interfaces with Tk]], a chapter from the [[https://docs.python.org/3/index.html|Python Documentation]].

Tkinter is Python's de-facto standard GUI (Graphical User Interface) package. It is a thin object-oriented layer on top of Tcl/Tk.

Tkinter is not the only GuiProgramming toolkit for Python. It is however the most commonly used one. CameronLaird calls the yearly decision to keep TkInter "one of the minor traditions of the Python world."

Tkinter Documentation

Tkinter Extensions

Comments

MythDebunking: TkInter is ugly on Windows (http://wiki.tcl.tk/8646)

Checking your Tkinter support

A good way to systematically check whether your Tkinter support is working is the following.

Enter an interactive Python interpreter in a shell on an X console.

Step 1 - can _tkinter be imported?

Try the following command at the Python prompt:

>>> import _tkinter # with underscore, and lowercase 't'

  • If it works, go to step 2.
  • If it fails with "No module named _tkinter", your Python configuration needs to be modified to include this module (which is an extension module implemented in C). Do **not** edit Modules/Setup (it is out of date). You may have to install Tcl and Tk (when using RPM, install the -devel RPMs as well) and/or edit the setup.py script to point to the right locations where Tcl/Tk is installed. If you install Tcl/Tk in the default locations, simply rerunning "make" should build the _tkinter extension.
  • If it fails with an error from the dynamic linker, see above (for Unix, check for a header/library file mismatch; for Windows, check that the TCL/TK DLLs can be found).

Step 2 - can Tkinter be imported?

Try the correct command for your version at the Python prompt:

>>> import Tkinter # no underscore, uppercase 'T' for versions prior to V3.0

>>> import tkinter # no underscore, lowercase 't' for V3.0 and later

  • If it works, go to step 3.
  • If it fails with "No module named Tkinter", your Python configuration need to be changed to include the directory that contains Tkinter.py in its default module search path. You have probably forgotten to define TKPATH in the Modules/Setup file. A temporary workaround would be to find that directory and add it to your PYTHONPATH environment variable. It is the subdirectory named "lib-tk" of the Python library directory (when using Python 1.4 or before, it is named "tkinter").

Step 3 - does Tkinter work?

Try the correct command for your Python version at the Python prompt:

>>> Tkinter._test() # note underscore in _test and uppercase 'T' for versions prior to V3.0 

>>> tkinter._test() # note underscore in _test and lowercase 'T' for V3.0 and later

  • This should pop up a small window with two buttons. Clicking the "Quit" button makes it go away and the command return. If this works, you're all set. (When running this test on Windows, from Python run in a MS-DOS console, the new window somehow often pops up *under* the console window. This can also occur when using iTerm on Mac OS X. Move it aside or locate the Tk window in the Taskbar / Dock.)
  • If this doesn't work, study the error message you get; if you can't see how to fix the problem, ask for help.


CategoryPyGUI

TkInter (last edited 2022-02-08 22:05:48 by martinmiller)

Unable to edit the page? See the FrontPage for instructions.