我正在努力学习Kivy,但似乎无法理解为什么我的代码(下面)不能正常工作。在我看来,第一个屏幕上的所有三个按钮都应该将您移动到第二个屏幕,但只有一个按钮可以!我认为,因为我指的是Widget树底部的窗口管理器(app.root),引用应该是绝对的和“位置无关的”。显然有一些我不明白的地方...
WindowManager:
CourseGridLayout:
CourseProgressWindow:
<CourseGridLayout>:
name: "courselist"
id: courselist
BoxLayout:
orientation: "vertical"
size: root.width, root.height
Image:
source: "logo.png"
GridLayout:
name: "bottomGrid"
cols: 2
Button:
text: "placeholder"
font_size: 32
on_press:
app.root.current: "courseprogress"
root.manager.transition.direction: "left"
Button:
text: "placeholder2"
font_size: 32
on_press:
app.root.current: "courseprogress"
root.manager.transition.direction: "left"
Button:
text: "Next Screen"
font_size: 32
on_press:
app.root.current = "courseprogress"
root.manager.transition.direction = "left"
<CourseProgressWindow>:
name: "courseprogress"
id: courseprogress
BoxLayout:
orientation: "vertical"
size: root.width, root.height
Label:
id: progressoutput
Button:
text: "Go Back"
font_size: 32
on_press:
app.root.current = "courselist"
root.manager.transition.direction = "right"
#!/usr/bin/env python3
__author__ = "Arana Fireheart"
from kivy.app import App
from kivy. uix.widget import Widget
from kivy.lang import Builder
from kivy. uix.screenmanager import ScreenManager, Screen
#Define our different screens
class CourseGridLayout(Screen):
pass
class CourseProgressWindow(Screen):
pass
class WindowManager(ScreenManager):
pass
# Designate Our .kv design file
kivvy = Builder.load_file("CGMonitor2.kv")
class DemoApp(App):
def build(self):
return kivvy
if __name__ == "__main__":
DemoApp().run()
1条答案
按热度按时间xqk2d5yq1#
在两个不工作的
Buttons
中,您用途:尝试将其更改为:
on_press:
后面的命令必须是python命令。