栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将Pygame窗口嵌入到Tkinter或WxPython框架中

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将Pygame窗口嵌入到Tkinter或WxPython框架中

根据此SO问题和公认的答案,最简单的方法是使用SDL并条机。

该代码是SO用户Alex Sallons的工作。

import pygameimport Tkinter as tkfrom Tkinter import *import osroot = tk.Tk()embed = tk.frame(root, width = 500, height = 500) #creates embed frame for pygame windowembed.grid(columnspan = (600), rowspan = 500) # Adds gridembed.pack(side = LEFT) #packs window to the leftbuttonwin = 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()

该代码是跨平台的,只要

windb
在非Windows系统上省略SDL_VIDEODRIVER行即可。我会建议

# [...]import platformif platform.system == "Windows":    os.environ['SDL_VIDEODRIVER'] = 'windib'# [...]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/624057.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号