使用来自另一个问题的代码,我在一个tkinter窗口中嵌入了一个pygame窗口,我正在尝试制作一个在pygame窗口上绘制一个圆圈的tk按钮,已经尝试了一段时间并且到目前为止还没有任何结果.任何想法都会很棒!这是我到目前为止的代码......
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) …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过 pySDL2 将 SDL2 窗口嵌入到我的 Tkinter 应用程序中。如何设置我的 pySDL2 窗口、渲染器,以便我的渲染或绘图出现在嵌入框架内?
其他示例已显示 pygame,但我发现我的 pygame 版本目前无法与 SDL2 正常工作。我知道 pygame 的其他实现正在尝试实现 SDL2,但与 SDL2 的兼容性对我来说是最重要的。
正确工作的一个例子是 Tkinter 窗口中的一个框架,该框架具有一个屏幕,当单击按钮时,该框架会通过 pySDL2 API 在框架上绘制一些内容。在尝试使用其他地方找到的 pygame 解决方案时,我收到了一些不同的错误,包括 BadWindow、BadDrawable(与 X 服务器功能相关)。
我正在尝试从 Tkinter 界面执行编译的 Pygame 图形应用程序。但是,我希望 pygame 界面启动到 800x600 图形框架中。在 pygame 应用程序的 800x600 框架下方的同一个根窗口中,我正在寻找一种嵌入的方法:
一个启动 python 可执行文件的 xterm 自动位于名为“lib/”的子目录中或
直接调用位于命名的“lib/”文件夹中的可执行文件。
我在这个主题上找到的唯一有用的文档在这里:http : //poultryandprogramming.wordpress.com/2012/10/28/embedded-terminal-in-pythontk-window/
该os.system航线是我看到的任何形式的文件的唯一方法。
可以做我想做的事subprocess.Popen吗?