我已经完成了一个没有 .kv 文件的 python kivy 代码。我已经完成了下面的屏幕管理器,第一个屏幕的小部件正在显示但不是第二个

i have done a python kivy code without .kv file. I have done with screenmanager below,the first screen's widgets are displaying but not second

我通过导入 kivy 创建了一个 python 程序,但我不想使用 .kv 文件。但是我怎样才能解决我用 screenmager 做的以下错误?在这里,显示了第一个屏幕的小部件,但第二个小部件在我的程序中不可见。在 TextInput 中,如果您键入 SARANAM AYYAPPA,则在单击 SARANAM AYYAPPA 按钮后标签将更改。如果您键入 AGILA LOGA SARANAM,屏幕将更改为第二个,这也会发生。但我的错是,小部件在第二个屏幕上不可见。

import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.textinput import TextInput
from kivy.properties import ObjectProperty
from kivy.uix.button import Button
from kivy.uix.floatlayout import FloatLayout
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager,Screen,FadeTransition
kivy.require('1.11.1')

class ScreenManagement(ScreenManager):
    def __init__(self, **kwargs):
        super(ScreenManagement,self).__init__(**kwargs)
    
class AdhiSastha(Screen):
    def __init__(self, **kwargs):
       super(AdhiSastha,self).__init__(**kwargs)
       self.Ayya=Label(text='[b]Saranam[/b] [color=0000ff]Ayyappa[/color]',markup=True,font_size='64pt')
       self.Putter=TextInput(background_color='#ffffff',multiline=False,size_hint=(0.5,0.05),pos=(180,60))
       self.Saranam=Button(text="Saranam Ayyappa",on_press=self.submit,background_color='#ff0066',size_hint=(0.3,0.07),pos=(250,10))        
       self.add_widget(self.Ayya)
       self.add_widget(self.Putter)
       self.add_widget(self.Saranam)
    
    def reply(self, *args):
        self.Ayya.text='[b]Swami[/b] [color=0000ff]Saranam![/color]'

    def submit(self,obj):
        name=self.Putter.text
        print(name)
        if(name=="SARANAM AYYAPPA"):
            self.reply()
        elif(name == "AGILA LOGA SARANAM"):
            self.Next()
        
    def Next(self, *args):
        self.manager.current="second"

class DarmaSastha(Screen):        
    def ___init__(self, **kwargs):
        super(DarmaSastha,self).__init__(**kwargs)    
        self.add_widget(Label(text="[b]Ayyappa[/b] [color=0000ff]Saranam![/color]",markup=True,font_size='64pt'))
        self.btn=Button(text="Ayyappa Saranam",on_press=self.Submit,background_color='#ffffff')
        self.add_widget(self.btn)
    
    def Submit(self, *args):
        self.manager.current="first"
    
class SaranamAyyappa(App):
    title="AGILA LOGA SARANAM"
    def build(self):
        Ayyappa=ScreenManagement(transition=FadeTransition())
        Ayyappa.add_widget(AdhiSastha(name="first"))
        Ayyappa.add_widget(DarmaSastha(name="second"))
        return Ayyappa

if __name__ == '__main__':
    SaranamAyyappa().run()

您的 DarmaSastha 中有错字。只需更改:

def ___init__(self, **kwargs):

至:

def __init__(self, **kwargs):

你的下划线太多了。