Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much


by zentara (Archbishop)
on Feb 08, 2004 at 20:05 UTC ( #327499=sourcecode: print w/replies, xml ) Need Help??
Category: GUI Programming
Author/Contact Info
Description: Perl Tk GUI using HList and Storable for making a general purpose "small" database. It fetures photos and thumbnails. It's available with some sample photos at and just the code at Here is a screenshot

UPDATED Mar-06-2004 : Fixed a nasty memory leak which left old Photo Objects uncollected.

Please download from the links above, as it is big. This is a general purpose small visual database using HList and Tk. It can be used as a rolodex, dossier, teacher's aid, personnel manager, or inventory control. My aim was to make a general purpose graphical front end for data. Now it uses Storable, but I eventually will connect it to BerkeleyDB or MySql and/or Postgresql. It uses Storable to store the data, backups are made everytime the program exits. To set it up, create a 'pics' directory, with at least 1 pic called admin.jpg and 1 called default.jpg. Then put all your photos into pics, (accepts jpg, gif, and png). The zip file includes these and some sample photo's to demonstrate something like a teacher's class database. ( I used the Sport's Illustrated models for my development work, but I've included some "copyright free" photos for distribution :-)). On first run, the pics are converted to jpg, resized for height, and the thumbnails are created. The entry names are taken from the photo names, but can be changed after setup. On subsequent runs, the Storable db is read and loaded. I tried to make it fast, and it is on my machine. I only create 1 "display widget combo" and just fill it in with selection data. To avoid using the "quirky" up-down-left-right keys behavior of HList, I let it be controlled by the mouse. The scrolling is smoother. To scroll the HList horizontally, either use the scrollbar, or click on the "name" entry box, or the <-- label above it. You should see how it works. It includes color coding of the entries, and you could sort by color code. I will do that later, right now the sort is alphabetical, with the admin always at the top. It only allows you to create 1 new entry at a time, called NEW. So if you add entries, change the name NEW to a unique name. You can change photo and/or thumbnail by right clicking on the main photo. You can do batch operations on the db with a perl script. I've included a sample zdbmanual. Make sure you make backups before trying anything batch. To examine the database, run ztkdb with an ARGV[0], like "ztkdb 1". It's got alot of features, so play with the buttons. Let me know any glitches you discover. I've only tested it on Linux.

UPDATED Mar-06-2004 : Fixed a nasty memory leak which left old Photo Objects uncollected.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://327499]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (5)
As of 2020-09-22 21:29 GMT
Find Nodes?
    Voting Booth?
    If at first I donít succeed, I Ö

    Results (130 votes). Check out past polls.