Provide programs and terse notes on using Perl/Tk to make a simple graphical user interface (GUI). The notes can help a Perl programmer to use the programs as templates for building a custom GUI.
Introduce object-oriented programming via Perl/Tk.
Provide examples that demonstrate concepts described in man pages.
Document some tips on software development, open-source tools.
Provide a GUI front-end to a program that retrieves and displays data.
Identify existing documents that contain detailed training and reference information about the concepts used here (this project does not reproduce existing man pages and tutorials found elsewhere, but lists pointers to them).
The project is hosted by SourceForge:
http://tktut.sourceforge.net
The project includes these files.
one window, one text box;
show a list of topics in the text box.
one window, a menu, multiple frames;
show a list of topics in a listbox;
show subtopics in a second listbox.
main window with multiple buttons;
each button shows data or calls a program;
open a toplevel window.
GUI compared to command-line interface.
Once you get a window and widgets on screen, many changes can be made quickly that can enhance learning.
Keep the GUI updated, and don't spend time writing or updating user documents about the UI.
Without a GUI, both code and documents must be updated so users know what to expect.
Tk(1)
widget(1)
wish(1)
A sizeable book, with good coverage of basic and advanced topics (eg, MainLoop), good graphics (see geometry management), many tips. Avoid the January 2002 printing that has a corrupted index, or get the revision from their web site. The few pages on style and debugging offer a good start for a novice.
Using Tk introduces OO concepts, and you do a lot with a little knowledge. Conway has an excellent presentation of the basics and of complex topics when you want to study them. Build knowledge and confidence with a very well-written book.
perlreftut(1)
perlboot(1)
If not,
read a good beginner's book like Learning Perl;
or start with the perl(1)
man page.
Work on some example code
(eg, from the tktut project)
while learning.
Examples:
pod2man tktut2_menu > tktut2_menu.man
man ./tktut2_menu.man
pod2html tktut2_menu > tktut2_menu.html
lynx ./tktut2_menu.html
(or view the html file with your favorite browser).
These notes will mention concepts such as references, anonymous arrays, anonymous subroutines, and help you to identify and use them. The notes will not explain these concepts in depth.
For more details, try starting with the Perl documents, using man(1), perldoc(1), info(1), or other tool.
Many thanks to the open source contributors for building and supporting a magnificent collection of software and documentation.
Many thanks to SourceForge and VA Software for providing a great service to the open source community.
Prepared by C. Poda <clpoda -at- users.sourceforge.net>
Copyright (c) 2002 by C. Poda. Permission is hereby granted to distribute this document intact, and in accordance with the licenses of the Perl distribution; derived documents must include this copyright notice intact.
$Id: tktut_project.pod,v 1.6 2002/05/06 03:50:25 clpoda Exp $