使用另一个问题的代码段,我将pygame窗口嵌入到tkinter窗口中。我试图在pygame窗口上制作一个tkbutton,它可以绘制一个圆形,已经进行了一段时间的实验,但还没有得到任何结果。有什么好的想法吗?以下是我目前的代码...
import Tkinter as tk
import os
import pygame as py
# R G B
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()
root.mainloop
才能使Tkinter正常工作。此外,如果你正在使用Tkinter,应该避免拥有自己的无限循环,因为mainloop
已经具备了这个功能。 - Bryan Oakley