本文整理汇总了Python中Tkinter.Tk._root方法的典型用法代码示例。如果您正苦于以下问题:Python Tk._root方法的具体用法?Python Tk._root怎么用?Python Tk._root使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tkinter.Tk
的用法示例。
在下文中一共展示了Tk._root方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Color
# 需要导入模块: from Tkinter import Tk [as 别名]
# 或者: from Tkinter.Tk import _root [as 别名]
lightList = [Light(Point(30,30,10), Color(1, 1, 1))]
objectList = [Sphere(Point(2.5,3,-10), 2, redMat),
Sphere(Point(-2.5,3,-10), 2, greenMat),
Sphere(Point(0,7,-10), 2, blueMat),
Triangle(Point(2.5,3,-10), Point(-2.5,3,-10), Point(0,7,-10), triangleMat),
Plane(Point(0,0,0), Vector(0,1,0), planeMat)]
# Renderfunktion - wird pro Pixel aufgerufen
def render_pix(x, y, color):
img.put(color.toValidatedHexString(), (x, HEIGHT-y))
if x%320 == 0:
canvas.update()
# Fenster & Canvas aufbauen
mw = Tk()
mw._root().wm_title("Raytracer")
cFrame = Frame(mw, width=WIDTH, height=HEIGHT)
cFrame.pack()
canvas = Canvas(cFrame, width=WIDTH, height=HEIGHT, bg="white")
# Bild für Pixelunterstützung
img = PhotoImage(width=WIDTH, height=HEIGHT)
canvas.create_image(0, 0, image=img, anchor=NW)
canvas.pack()
# camera initialisieren
camera = Camera(Point(0,2,10), Vector(0,1,0), Point(0,3,0), FIELD_OF_VIEW)
camera.setScreenSize(WIDTH, HEIGHT)
# Anfangen zu Rendern, nachdem Canvas sichtbar ist
示例2: main
# 需要导入模块: from Tkinter import Tk [as 别名]
# 或者: from Tkinter.Tk import _root [as 别名]
def main():
ImageFile.MAXBLOCK = 4096*2304 # this is only required for older PIL versions, if PILs output buffer is not large enough. see: https://mail.python.org/pipermail/image-sig/1999-August/000816.html
parser = argparse.ArgumentParser(description='Simple Raytracer by Tilman Ginzel')
parser.add_argument('-r', '--recursive', help='sets recursive depth, e.g. -r 3 (required)', nargs=1, type=checkPositiveInt, required=True, metavar='')
parser.add_argument('-s', '--size', help='sets the size, e.g. -s 400 400', nargs=2, default=[400, 400], type=checkPositiveInt, required=False, metavar='')
parser.add_argument('-v', '--verbose', help='enable live visualization while processing (slower)', required=False, action='store_true')
parser.add_argument('-m', '--material', help='enable materials', required=False, action='store_true')
parser.add_argument('-a', '--antialiasing', help='enables 4xSSAA (hence, 4 times slower)', required=False, action='store_true')
parser.add_argument('-o', '--output', help='saves image to "./saves/"', required=False, action='store_true')
parser.add_argument('-set', '--setting', help='choose a setting. -set 1 - 3', required=False, nargs=1, default=[1], type=int, metavar='')
parser.add_argument('-nd', '--no-display', help='this should only be set if the script runs on a server without a $DISPLAY environment variable set!', required=False, action='store_true')
try:
args = vars(parser.parse_args())
except:
parser.print_help()
sys.exit(1)
settingId = args['setting'][0]
if settingId == 1: # default setting
setting = DefaultSetting(width=args['size'][0], height=args['size'][1], recursiveDepth=args['recursive'][0], showMaterial=args['material'])
elif settingId == 2: # space setting
setting = SpaceSetting(width=args['size'][0], height=args['size'][1], recursiveDepth=args['recursive'][0], showMaterial=args['material'])
elif settingId == 3: # room setting
setting = RoomSetting(width=args['size'][0], height=args['size'][1], recursiveDepth=args['recursive'][0], showMaterial=args['material'])
else: # default setting
setting = DefaultSetting(width=args['size'][0], height=args['size'][1], recursiveDepth=args['recursive'][0], showMaterial=args['material'])
# display is used to set whether you want to have a visual feedback in a graphical user interface.
display = not args['no_display'] # easier to read and you do not have to negotiate it on every call
if display:
window = Tk()
window._root().wm_title('Raytracer - Tilman Ginzel (173388)')
if args['verbose']:
can = Canvas(window, width=setting.WIDTH, height=setting.HEIGHT)
else:
frame = Frame(window, width=setting.WIDTH, height=setting.HEIGHT)
can = Canvas(frame, width=setting.WIDTH, height=setting.HEIGHT)
frame = Frame(window)
can.pack()
# photoImage is used to show live changes while processing
if args['verbose']:
photoImage = PhotoImage(width=setting.WIDTH, height=setting.HEIGHT)
can.create_image((setting.WIDTH/2, setting.HEIGHT/2), image=photoImage, state="normal")
# pilImage is used to save the image after processing or if verbose is deactivated
pilImage = Image.new("RGB", (setting.WIDTH, setting.HEIGHT), (0, 0, 0))
start = time.clock()
processor = Processor(setting, display=display, ssaa=args['antialiasing'])
print 'start processing...'
for pixel in processor.startProcessing():
if display and args['verbose']:
photoImage.put("#%02x%02x%02x" %((pixel[1][0], pixel[1][1], pixel[1][2])), (pixel[0][0], pixel[0][1]))
if pixel[0][1] == setting.HEIGHT-1: # if y == bottom, update canvas
can.update()
pilImage.putpixel((pixel[0][0], pixel[0][1]), ((pixel[1][0], pixel[1][1], pixel[1][2])))
end = time.clock()
print 'done'
print 'duration: %2.2f seconds' %(end-start)
if display and not args['verbose']:
tkImage = ImageTk.PhotoImage(pilImage)
label = Label(image=tkImage)
label.image = tkImage
label.pack()
can.pack()
if args['output']:
saveImage(pilImage, args)
if display:
window.mainloop()