<p>我还是无法进入下一个屏幕,约翰。我已经在ScreenManager中设置了计数器和If,但是我仍然无法从一个页面转到另一个页面,关于ScreenManager的操作有些我不知道</p>
<p>Arrastar.kv</p>
<pre><code>#:kivy 1.9.0
#:import FadeTransition kivy.uix.screenmanager.FadeTransition
<RelScreenManager>:
transition: FadeTransition()
Relaciona3x2:
Relaciona4x2:
Relaciona5x2:
<Relaciona3x2>:
name: 'Rel3x2'
id: Rel3x2
canvas.before:
Rectangle:
pos: self.pos
size: self.size
source: 'data/img/fondobosque.jpg'
BoxLayout:
orientation: 'vertical'
BoxLayout:
id: from_box
Widget:
DragableButton:
canvas:
Rectangle:
pos: self.pos
size: self.size
source: 'data/img/letra_i/iglu.png'
bound_zone_objects: [from_box, to_box ]
droppable_zone_objects: [to_box, ]
drop_func: app.greet
Widget:
DragableButton:
canvas:
Rectangle:
pos: self.pos
size: self.size
source: 'data/img/letra_i/indio.png'
bound_zone_objects: [from_box, to_box, ]
droppable_zone_objects: [to_box, ]
drop_func: app.greet
Widget:
DragableButton:
canvas:
Rectangle:
pos: self.pos
size: self.size
source: 'data/img/letra_m/moto.png'
bound_zone_objects: [from_box, to_box, ]
#droppable_zone_objects: [to_box, ]
drop_func: app.greet
Widget:
BoxLayout:
id: from_box
Widget:
DragableButton:
canvas:
Rectangle:
pos: self.pos
size: self.size
source: 'data/img/letra_u/una.png'
bound_zone_objects: [from_box, to_box, ]
#droppable_zone_objects: [to_box, ]
drop_func: app.greet
Widget:
DragableButton:
canvas:
Rectangle:
pos: self.pos
size: self.size
source: 'data/img/letra_i/iman_1.png'
bound_zone_objects: [from_box, to_box, ]
droppable_zone_objects: [to_box, ]
drop_func: app.greet
Widget:
DragableButton:
canvas:
Rectangle:
pos: self.pos
size: self.size
source: 'data/img/letra_u/urraca.png'
bound_zone_objects: [from_box, to_box, ]
#droppable_zone_objects: [to_box, ]
drop_func: app.greet
Widget:
Image:
id: to_box
source: "data/img/caldero.png"
<Relaciona4x2>:
name: 'Rel4x2'
id: Rel4x2
AnchorLayout:
Image:
source: "data/img/fondobosque.jpg"
allow_stretch: True
keep_ratio: False
<Relaciona5x2>:
name: 'Rel5x2'
id: Rel5x2
AnchorLayout:
Image:
source: "data/img/fondobosque.jpg"
allow_stretch: True
keep_ratio: False
</code></pre>
<p>阿拉斯特拉比</p>
<pre><code>from kivy.uix.boxlayout import BoxLayout
__all__ = ('Relaciona3x2', 'Relaciona4x2', 'Relaciona5x2')
import kivy
kivy.require('1.0.6')
from DragableButton import DragableButton
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.core.window import Window
from kivy.uix.widget import Widget
Builder.load_file('arrastrar.kv')
class Contador(object):
def __init__(self, inicial=0):
self.numero = inicial
def next(self):
self.numero += 1
return self.numero
class RelScreenManager(ScreenManager):
def __init__(self):
super(RelScreenManager, self).__init__()
self.cuenta = Contador()
if self.cuenta.numero == 3:
self.screen_manager.current = "Rel4x2·"
#
# def Screen3x2(self):
# self.screen_manager.current = "Rel3x2"
#
# def Screen4x2(self):
# self.screen_manager.current = "Rel4x2"
#
# def Screen5x3(self):
# self.screen_manager.current = "Rel5x2"
class Relaciona3x2(Screen):
pass
class Relaciona4x2(Screen):
pass
class Relaciona5x2(Screen):
pass
class ArrastraApp(App):
def build(self):
#Window.fullscreen = 'auto'
return RelScreenManager()
def greet(self):
#cuenta = Contador()
print('Draggin done!')
#print(self.cuenta.next())
if __name__ == "__main__":
ArrastraApp().run()
</code></pre>