我正在尝试使用pygame编写一个GUI程序,这个程序是在覆盆子pi上运行并提供一个全屏GUI,一旦你启动pi就会出现 . 实际上,你在pi上所做的一切都是通过我正在开发的GUI来完成的 .

但是,对于此pi的部分内容,您需要能够打开浏览器窗口 .

我发现导入webbrowser模块并使用“webbrowser.open(webAddressString)”会将浏览器显示到所需的起始页面,但是因为这个浏览器(铬是我在这个pi上得到的)打开了pygame GUI缩小从全屏(与“DISPLAYSURF = pygame.display.set_mode((宽度,高度),pygame.FULLSCREEN)”)一起成为一个小窗口,坐在屏幕上,右上角有最小化/关闭/最大化按钮 .

我希望能够实现以下两个方面中的一个,最好是第一个 . 如果可能的话,我还想知道如何为任意linux程序(libre office writer,终端,VLC媒体播放器......等)以及浏览器执行这些操作 .

1.虽然pygame GUI保持全屏,但打开浏览器 . 浏览器应该像正常一样运行,但是当浏览器关闭或最小化时,用户应该再次看到pygame GUI,除了在加载和关闭期间非常短暂的时间段之外,他们不会发现自己处于浏览器或pygame GUI之外的任何其他位置 . 如果涉及任何缓慢的过程 . 在这种情况下,浏览器不必是全屏的,只要浏览器可以用作缩小的屏幕就可以了,只要pygame GUI在其后面可见即可 .

此选项涉及的困难是知道在python中使用什么命令在背景pygame GUI窗口上打开浏览器窗口而不使pygame窗口缩小并停止全屏 .

要么

2.浏览器从pygame GUI全屏打开,然后让用户能够在浏览器中工作,python pygame将进入一个while循环,它只是坐着,什么也没做 . 但是一旦用户关闭浏览器或将其最小化,python pygame程序就会检测到浏览器关闭并通过运行“DISPLAYSURF = pygame.display.set_mode((宽度,高度),pygame.FULLSCREEN)重新回到全屏模式” “再说一次 .

我在这里遇到的困难是知道如何将浏览器打开为全屏程序(因此用户不会看到自pygame GUI已经最小化后现在显示在其后面的pi的操作系统的其余部分),以及如何在此浏览器窗口最小化或关闭时检测python(此时我必须运行“DISPLAYSURF = pygame.display.set_mode((Width,Height),pygame.FULLSCREEN)”以使pygame GUI返回到全屏) . 我可以保证在pi上打开的唯一程序是python pygame,以及从pygame GUI中打开时的浏览器,所以不需要担心让程序识别哪个浏览器窗口被关闭,因为只有一个将首先打开 .

我已经尝试使用“webbrowser.open(webAddressString)”命令,在我的python代码的下一行跟随“DISPLAYSURF = pygame.display.set_mode((Width,Height),pygame.FULLSCREEN)”但这样做只是导致浏览器被打开,然后被pygame GUI立即覆盖,因此用户无法看到或使用浏览器,因为它一打开就被覆盖 . 我无法尝试其他任何尝试,也无法在网上找到任何其他此类查询 .

谢谢

注意:我在python 2.7.9中工作,因为这是我的传感器库所在的语言 .