Python 如何在Kivy中拥有多个窗口?

Python 如何在Kivy中拥有多个窗口?,python,user-interface,kivy,kivy-language,Python,User Interface,Kivy,Kivy Language,我试图从一个完全不同的GUI打开一个GUI。我在桌面上开发,窗口大小不同。我看着屏幕管理器,但我觉得似乎有一个更简单的方法来做到这一点 提前谢谢 这是可能的,但有点不方便。问题是kivy每个应用程序只支持一个窗口,所以你需要设法解决这个问题。我个人只是在一个窗口中使用多个*布局(它们是具有不同功能的不同GUI),根据需要显示和隐藏它们。显然,这种方法有其局限性,例如它不支持多个监视器,但它非常简单 还有就是在这里,人们为每个窗口生成单独的kivy应用程序,从而获得可以相对拖动和调整大小的窗口。它

我试图从一个完全不同的GUI打开一个GUI。我在桌面上开发,窗口大小不同。我看着屏幕管理器,但我觉得似乎有一个更简单的方法来做到这一点


提前谢谢

这是可能的,但有点不方便。问题是kivy每个应用程序只支持一个窗口,所以你需要设法解决这个问题。我个人只是在一个窗口中使用多个*布局(它们是具有不同功能的不同GUI),根据需要显示和隐藏它们。显然,这种方法有其局限性,例如它不支持多个监视器,但它非常简单

还有就是在这里,人们为每个窗口生成单独的kivy应用程序,从而获得可以相对拖动和调整大小的窗口。它需要处理一些子流程和应用程序之间的通信,但这种方法更强大


据我所知,ScreenManager帮不了你:它只允许为同一个窗口定义多个小部件树,并在它们之间动态切换。这在触摸屏上是一个正常的用例,但在桌面上几乎没有意义。老实说,这在kivy的很多事情上都是正确的。如果您以后不打算使用手机,Tkinter或PyQT可能是比kivy更好的选择。

您可以使用PageLayout或ScreenManager。他们可以一次创建多个屏幕(而不是窗口)。他们真的很有帮助!因为kivy不支持多个窗口,所以您可以使用这些窗口

from kivy.uix.pagelayout import PageLayout

from kivy.uix.screenmanager import Screen, ScreenManager. FadeTransition