如何在python代码中改变kivy中的屏幕过渡方向?



我知道如何改变Kivy代码形式的过渡方向。例子:

Button:
text: "Home" 
size_hint: 0.8, 0.2
on_release: 
root.manager.transition.direction = "right"
root.GoToMainWindow()
  • 然而,我不能在python代码中复制这个。
  • 我希望能够在python代码中设置过渡类型,因为我在for循环中创建了一组按钮,在python
  • 这是我的两个尝试:
GridButton = Button(text="More details", on_release=self.GoToMoreDetails, on_release=self.transition.direction("right"))

GridButton = Button(text="More details", on_release=self.GoToMoreDetails, self.transition.direction("right"))
  • 第一次尝试给出'关键字参数'on_release'是重复'的错误,以设置按钮按功能。
  • 第二次尝试给出错误"SyntaxError:位置参数跟随关键字参数">

下面是你的应用程序应该是什么样子的例子"只是为了切换屏幕"

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.button import Button
from kivy.uix.screenmanager import ScreenManager, Screen, SlideTransition
class FirstPage(FloatLayout):
def switch_screen(self):
myapp.screen_manager.transition = SlideTransition(direction='left', duration=.25)
myapp.screen_manager.current = 'SecondPage'
class SecondPage(FloatLayout):
def switch_back(self):
myapp.screen_manager.transition = SlideTransition(direction='right', duration=.25)
myapp.screen_manager.current = 'FirstPage'
class MyApp(MDApp):
def build(self):
self.screen_manager = ScreenManager()
self.firstpage = FirstPage()
screen = Screen(name='FirstPage')
screen.add_widget(self.firstpage)
self.screen_manager.add_widget(screen)
self.secondpage = SecondPage()
screen = Screen(name='SecondPage')
screen.add_widget(self.secondpage)
self.screen_manager.add_widget(screen)
return self.screen_manager
myapp = MyApp()
myapp.run()

kivycode:

FirstPage:
<FirstPage>:
Button:
text: "First"
on_release: root.switch_screen()
<SecondPage>:
Button:
text: "Second"
on_release: root.switch_back()

最新更新