注意:我不是程序员,也不知道我应该使用的确切术语。这是一个基本的程序,我不想使用文字“kivy屏幕”或kivy屏幕管理器。在
我花了好几个小时在谷歌上搜索,试图解决这个问题,但我没找到答案。我有一个python kivy程序。我已经创建了初始开始屏幕。当用户点击一个特定的游戏时,我希望屏幕清除第一个屏幕上的所有数据,然后在屏幕上放置按钮和标签。就像一个“新”屏幕。当用户选择一个游戏时,我把它放在屏幕上,但是如果我尝试在这个屏幕上添加按钮,它们就会出现在主屏幕上。在
这是我的python代码:
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.dropdown import DropDown
class MadLib(Widget):
pass
class MadlibApp(App):
def build(self):
return MadLib()
app = MadlibApp()
if __name__ == '__main__':
app.run()
这是我的.kv文件:
^{pr2}$当用户点击游戏1,我想它跳到游戏1类,但它不能,因为程序还不知道它存在。我不知道该怎么解决这个问题。在
你说的是屏幕,但似乎没有使用真正的kivy屏幕。您需要有一个ScreenManager,然后创建单独的Screen对象,您可以在其中放置小部件。在
这是你搜索“KivyScreens”的第一个结果,下次请做你的功课。在
下面是一个快速教程,介绍如何将现有代码转换为正确使用屏幕的代码。假设您有以下.kv代码:
你希望第一个按钮在一个屏幕上,第二个按钮在另一个屏幕上。首先,把它们变成一个
^{pr2}$Screen
。通常您只需将根小部件更改为一个屏幕,然后将所有其他小部件移动到屏幕中。该示例如下所示:你现在需要一个屏幕管理器。在其中,添加您将要使用的所有屏幕。我将使它成为根小部件。我还将使按第一个屏幕上的按钮变为第二个屏幕,反之亦然:
就这样!您可以更改转换类型和其他详细信息,请查看docs。在
要查看此示例,请运行以下.py文件:
相关问题 更多 >
编程相关推荐