Computer locks up when running valid stand alone Tkinter file.
jim-on-linux
inq1ltd at verizon.net
Wed Oct 25 20:27:00 EDT 2006
py help,
The file below will run as a stand alone file.
It works fine as it is.
But, when I call it from another module it locks
my computer, The off switch is the only
salvation.
This module when run as a stand alone, it will
open a jpeg image and add a vertical and
horizontal scrollbar to the canvass.
That's all it does.
Replace the img9.jpg file with one of your own,
put the image in the current working dir., and
run.
If you think you can help, I would appreciate it.
jim-on-linux
############################################
#!/usr/bin/env python
"""
#############################################
import Tkinter as Tk
Do not do
( from Tkinter import * )
because of name space conflict with
Image.open
##############################################
#### below imports Image and ImageTk are from
#### Imaging-1.1.5, PIL in Python
"""
import Image
import ImageTk
import Tkinter as Tk
import os
vpath = os.getcwd()+os.sep+'img9.jpg'
class Kshow_0 :
def __init__(self ) :
self.Fimgshow0()
def Fimgshow0(self ) :
window = Tk.Tk() # used for stamd alone
# window = Tk.Toplevel()
# Above Toplevel call used when running
# from another file
window.title(' Image Location '+vpath )
window.protocol('WM_DELETE_WINDOW',
window.destroy)
vcanvas = Tk.Canvas(window, width = 375,
height=375,
borderwidth = 1, bg=
'white')
sbarY=Tk.Scrollbar()
sbarX = Tk.Scrollbar( orient='horizontal')
sbarY.config(command= vcanvas.yview)
sbarX.config(command= vcanvas.xview)
vcanvas.config(yscrollcommand=sbarY.set)
vcanvas.config(xscrollcommand=sbarX.set)
sbarY.pack(side='right', fill='y')
sbarX.pack(side='bottom', fill='x')
vcanvas.pack(expand='yes', fill='both')
im= Image.open( vpath)
tkim = ImageTk.PhotoImage(im)
imgW = tkim.width()
print imgW, '## imgW, jpg 58\n'
imgH = tkim.height()
print imgH, '## imgH, jpg 61\n'
# Draw the image on the canvas
vcanvas.create_image(0, 0, image=tkim,
anchor = 'nw' )
vcanvas.config(scrollregion= (0, 0, imgW,
imgH))
window.mainloop ()
if __name__ == '__main__' :
Kshow_0()
More information about the Python-list
mailing list