【发布时间】:2019-04-09 03:28:58
【问题描述】:
我正在尝试创建一个在输入正确时显示“正确”的系统。但是我对类和函数的工作方式感到非常困惑,即使在观看教程和阅读文档之后,因为我是 Python 和 Kivy 的新手。
这是我目前的 kv 代码
<CorrectLayout>
id: correctlayout
Label:
text: 'Gesture Correct!'
background_normal:'bgpics/translateback.jpg'
pos_hint:{"x":-0.15,"y":-.43}
color: 1,1,0,1,1
font_size: '45sp'
font_name: 'EraserRegular.ttf'
Image:
source: 'bgpics/check2.png'
pos_hint:{"x":0.64,"y":.03}
size_hint: .1, .1
allow_stretch: True
keep_ratio: False
<LetterAScreen>:
canvas.before:
Rectangle:
pos: self.pos
size: self.size
source: 'bgpics/bluebg.jpg'
CorrectLayout:
FloatLayout:
Label:
text: 'Learning the FSL Alphabet'
background_normal:'bgpics/chalk2.png'
pos_hint:{"x":0.009,"y":.43}
font_size: '45sp'
font_name: 'SqueakyChalkSound.ttf'
Image:
source: 'handgesture/a.png'
pos_hint:{"x":0.009,"y":.15}
size_hint: .40, .70
allow_stretch: True
keep_ratio: False
Image:
source: 'handgesture/a.png'
pos_hint:{"x":0.43,"y":.15}
size_hint: .40, .70
allow_stretch: True
keep_ratio: False
Button:
text: "NEXT"
background_normal:'bgpics/translateback.jpg'
font_size: '35sp'
font_name: 'vtks.ttf'
color: 0, 0, 0, 1
pos_hint:{"x":.87,"y":.6}
size_hint: .1, .1
on_press: root.manager.current = 'letterb'
Button:
text: "QUIT"
background_normal:'bgpics/translateback.jpg'
font_size: '35sp'
font_name: 'vtks.ttf'
color: 0, 0, 0, 1
pos_hint:{"x":.87,"y":.2}
size_hint: .1, .1
on_press: root.manager.current = 'menu'
<LetterBScreen>:
canvas.before:
Rectangle:
pos: self.pos
size: self.size
source: 'bgpics/bluebg.jpg'
CorrectLayout:
FloatLayout:
Label:
text: 'Learning the FSL Alphabet'
background_normal:'bgpics/chalk2.png'
pos_hint:{"x":0.009,"y":.43}
font_size: '45sp'
font_name: 'SqueakyChalkSound.ttf'
Image:
source: 'handgesture/b.png'
pos_hint:{"x":0.009,"y":.15}
size_hint: .40, .70
allow_stretch: True
keep_ratio: False
Image:
source: 'handgesture/b.png'
pos_hint:{"x":0.43,"y":.15}
size_hint: .40, .70
allow_stretch: True
keep_ratio: False
Button:
text: "NEXT"
background_normal:'bgpics/translateback.jpg'
font_size: '35sp'
font_name: 'vtks.ttf'
color: 0, 0, 0, 1
pos_hint:{"x":.87,"y":.6}
size_hint: .1, .1
on_press: root.manager.current = 'lettera'
Button:
text: "BACK"
background_normal:'bgpics/translateback.jpg'
font_size: '35sp'
font_name: 'vtks.ttf'
color: 0, 0, 0, 1
pos_hint:{"x":.87,"y":.4}
size_hint: .1, .1
on_press: root.manager.current = 'lettera'
Button:
text: "QUIT"
background_normal:'bgpics/translateback.jpg'
font_size: '35sp'
font_name: 'vtks.ttf'
color: 0, 0, 0, 1
pos_hint:{"x":.87,"y":.2}
size_hint: .1, .1
on_press: root.manager.current = 'menu'
和我的 .py 文件(不包括不必要的部分)
class CorrectLayout(FloatLayout):
pass
class LetterAScreen(Screen):
pass
class LetterBScreen(Screen):
pass
sm = ScreenManager(transition=SwapTransition())
sm.add_widget(LetterAScreen(name='lettera'))
sm.add_widget(LetterBScreen(name='letterb'))
class MainApp(App):
def build(self):
return sm
if __name__ == '__main__':
MainApp().run()
我只是先格式化所有内容,以便知道它们将放置在哪里,但我不知道从这里到哪里。我的 .py 文件只是对我包含在 kv 文件中的所有类使用了“传递”。我不知道如何实现类和函数来实现我所需要的。
输入将来自键盘输入,如果字母与图片匹配,将从字典中确定。如果字母与图片匹配,则图片应与CorrectLayout 一起出现在其旁边。然后当用户在LetterAscreen 中单击下一步并继续到LetterBScreen,然后单击上一个时,我需要LetterAScreen 恢复为没有CorrectLayout 和第二张图片。
有人会帮助我吗?请问?
【问题讨论】:
-
请帮帮我,我真的需要帮助