Hi,
Looking for the best means of generating postscript from a canvas widget
but having the canvas widget in the background, and not visible to the user.
I have an application that I'd like to batch generate a web site from,
including a set of graphs.
the graphs are plotted on a canvas widget with a convenience function
and then postscript is generated using the canvas.postscript() method.
The only means I can see of generating valid postscript is when the
canvas widget and root are displayed to the user. I'd prefer if this
could be hidden.
Following code is a rough example of what happens when the user clicks
the generate button
def generate_webpage(self, emplist):
myroot = Tk()
mycanvas = Canvas(myroot, width=700, height=400)
mycanvas.pack()
mycanvas.root = myroot
for i in range(0, len(emplist)):
# PostScript file name
psname = "graph%s.ps" % (i)
# Clear canvas down
canvas.delete(ALL)
# Plot graph on canvas
PlotLineGraph(mycanvas, emplist[i])
# Update tasks and canvas
self.update_idletasks()
mycanvas.update()
mycanvas.update_idletasks()
# Generate postscript
mycanvas.postscript(file=psname, pagewidth=675,
pageheight=400)
myroot.destroy()
As can be seen, when generate_webpage is clicked, a new popup window is
shown and each graph as generated is shown within the window as it's done.
If I add myroot.withdraw() to above method, just after packing mycanvas,
then no popup appears but all the postsript files are blank
nothing is actually plotted on the canvas !!
Does anyone know of a way to get around this ?
cheers
Matt
_______________________________________________
Tkinter-discuss mailing list
Tkinter-discuss@python.org
http://mail.python.org/mailman/listinfo/tkinter-discuss