summaryrefslogtreecommitdiffstats
path: root/Demo/tkinter/www/www8.py
diff options
context:
space:
mode:
Diffstat (limited to 'Demo/tkinter/www/www8.py')
-rwxr-xr-xDemo/tkinter/www/www8.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/Demo/tkinter/www/www8.py b/Demo/tkinter/www/www8.py
new file mode 100755
index 0000000..868a7ed
--- /dev/null
+++ b/Demo/tkinter/www/www8.py
@@ -0,0 +1,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()