summaryrefslogtreecommitdiffstats
path: root/Demo/tkinter/www/www8.py
blob: 868a7ed45225b63f176d1589aabb60411c8fce0f (plain)
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
#! /usr/local/bin/python

# www8.py -- display the contents of a URL in a Text widget
# - set window title
# - make window resizable
# - update display while reading
# - vertical scroll bar

import sys
import urllib
from Tkinter import *

def main():
	if len(sys.argv) != 2 or sys.argv[1][:1] == '-':
		print "Usage:", sys.argv[0], "url"
		sys.exit(2)
	url = sys.argv[1]
	fp = urllib.urlopen(url)

	# Create root window
	root = Tk()
	root.title(url)
	root.minsize(1, 1)

	# The Scrollbar *must* be created first -- this is magic for me :-(
	vbar = Scrollbar(root)
	vbar.pack({'fill': 'y', 'side': 'right'})
	text = Text(root, {'yscrollcommand': (vbar, 'set')})
	text.pack({'expand': 1, 'fill': 'both', 'side': 'left'})

	# Link Text widget and Scrollbar -- this is magic for you :-)
	##text['yscrollcommand'] = (vbar, 'set')
	vbar['command'] = (text, 'yview')

	while 1:
		line = fp.readline()
		if not line: break
		text.insert('end', line)
		root.update_idletasks()

	root.mainloop()

main()