Dibuja un círculo en Pygame usando Tkinter

Usando bits de código de otra pregunta, incrusté una ventana de pygame en una ventana de tkinter, estoy tratando de hacer un botón tk que dibuja un círculo en la ventana de pygame, he estado experimentando por un tiempo y no he dado resultados hasta ahora. Cualquier idea sería genial! Aquí está el código que tengo hasta ahora …

import Tkinter as tk import os import pygame as py # RGB red = (225, 0, 0) green = (0, 255, 0) w, h = 500, 200 p = False def maketrue(p): p = True returnp root = tk.Tk() window = tk.Frame(root, width=w, height=h) window.pack() os.environ['SDL_WINDOWID'] = str(window.winfo_id()) root.update py.display.init() screen = py.display.set_mode((w, h)) screen.fill(py.Color(255, 0, 0)) drawbutton = tk.Button(root, text='Draw Circle', command = maketrue(p)) drawbutton.pack() while True: if p == True: py.draw.circle(screen, red, (250, 50), 20) py.display.update() else: pass py.draw.circle(screen, green, (250, 100), 20) root.update() 

Quería hacer esto por un tiempo, pero tenía tiempo ahora, este es un código básico, el progtwig crea una ventana tkinter y luego incrusta una ventana de pygame en un marco, luego crea otro marco y coloca un botón en esa ventana que cuando se presiona, llama a una función que le dice a pygame que dibuje un círculo en la ventana de pygame.

 import pygame import Tkinter as tk from Tkinter import * import os root = tk.Tk() embed = tk.Frame(root, width = 500, height = 500) #creates embed frame for pygame window embed.grid(columnspan = (600), rowspan = 500) # Adds grid embed.pack(side = LEFT) #packs window to the left buttonwin = tk.Frame(root, width = 75, height = 500) buttonwin.pack(side = LEFT) os.environ['SDL_WINDOWID'] = str(embed.winfo_id()) os.environ['SDL_VIDEODRIVER'] = 'windib' screen = pygame.display.set_mode((500,500)) screen.fill(pygame.Color(255,255,255)) pygame.display.init() pygame.display.update() def draw(): pygame.draw.circle(screen, (0,0,0), (250,250), 125) pygame.display.update() button1 = Button(buttonwin,text = 'Draw', command=draw) button1.pack(side=LEFT) root.update() while True: pygame.display.update() root.update()