1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
import Tix as tix
class TREE(object):
def __init__(self, win, tree_data,sep=":"):
self.win = win
self.frm = tix.Frame(win)
self.sep = sep
tree = tix.Tree(win, browsecmd=self.selectItem, options='separator "%s"'%self.sep)
tree.hlist.config(bg='white', selectbackground='white', selectforeground='black', selectmode="extended")
tree.hlist.config(command=self.command)
for dname, fnames in tree_data:
disk_id = tree.hlist.add(dname, itemtype=tix.IMAGETEXT, image=tree.tk.call('tix', 'getimage', 'harddisk'), text=dname)
tree.open(disk_id)
for fname in fnames:
try:
tree.hlist.add(dname + self.sep + fname, itemtype=tix.IMAGETEXT, image=tree.tk.call('tix', 'getimage', 'file'), text=fname)
except Exception as (errmsg):
# Let's see that later
pass
tree.pack()
tree.autosetmode()
tree.pack(expand=1, fill=tix.BOTH)
self.frm.pack()
self.tree = tree
def selectItem(self, item):
pass
print "selectItem", item
def command(self, item):
print "command", item
if __name__ == '__main__':
tree_data = [('../disks/filedisk/Files01a', ['DOS.SYS', 'BOULDERD.ASH', 'NMPINBAL.L', 'STARFIGH.TER', 'AUTORUN.SYS', 'CAMBODIA']),
('../disks/filedisk/Files01b', ['ABRACADA.BRA', 'PREMONTY', 'ALLEYCAT', 'PHARAON']),
('../disks/filedisk/FILES02A', ['DOS.SYS', 'FLYING', 'UNKNOWN.COM', 'SPYBACK', 'BLUEMAX.XL', 'AUTORUN.SYS']),
('../disks/filedisk/FILES02B', ['FINALLEG.ACY', 'DOS.SYS', 'SHUTTLE', 'SPYHUNTE.R', 'UPNDOWN', 'KONG']),
('../disks/filedisk/FILES03A', ['DOS.SYS', 'ZENJI', 'DROPZONE', 'RIVERRAI.D', 'DEFENDER', 'AUTORUN.SYS']),
('../disks/filedisk/FILES03A.ATR', ['ZENJI', 'DROPZONE', 'RIVERRAI.D', 'DEFENDER', 'AUTORUN.SYS']),
('../disks/filedisk/FILES03B', ['DOS.SYS', 'AUTORUN.SYS', 'GYRUSS', 'FUNWITHA.RTS', 'LOSANGEL.ES']),
('../disks/filedisk/FILES04A', ['DOS.SYS', 'NEWQBERT.COM', 'FLIPFLOP.COM', 'RAINBOW.COM', 'JUICE.COM', 'AUTORUN.SYS', 'HERO']),
('../disks/filedisk/FILES04B', ['DOS.SYS', 'AZTEC', 'SHOWDOWN', 'SHAMUS2', 'AUTORUN.SYS']),
('../disks/filedisk/FILES07A', ['DOS.SYS', 'GHOSTCHA.SER', 'ARCHON.II', 'HARDHATM.AC', 'HIGHRISE'])]
win = tix.Tk()
tree = TREE(win, tree_data)
win.geometry("260x400")
win.mainloop() |
Partager