The following example shows how to embed the Vizard graphics window into a TKinter application:
Code:
import viz
from Tkinter import *
class VizardApp(Frame):
def __init__(self, master=None):
Frame.__init__(self, master,width=800, height=600)
self.pack()
#Embed vizard using the viz.EMBEDDED flag and passing handle to existing window
viz.go(viz.EMBEDDED,window=self.winfo_id())
#Initialize Vizard environment
viz.add('tut_ground.wrl')
ball = viz.add('ball.wrl',pos=(0,1.8,2))
ball.add(vizact.spin(0,1,0,90))
#Need to setup timer to manually update vizard engine
self.after(10,self.updateVizard)
def updateVizard(self):
"""Update the vizard engine"""
viz.updateframe()
self.after(10,self.updateVizard)
# create the application
myapp = VizardApp()
# set title of application
myapp.master.title("Vizard Tkinter example")
# start the program
myapp.mainloop()