Nun, ich bekomme ein Problem bei der Verwendung von "IDs" in Kivy.Immer wieder Fehler bei der Verwendung von "IDs" in kv-Datei
from twisted.internet import reactor, protocol
from twisted.protocols.basic import LineReceiver
class User(protocol.Protocol):
def connectionMade(self):
self.transport.write("hey brother")
def dataReceived(self, data):
print (data)
class ChatClientFActory(protocol.ClientFactory):
protocol=User
def __init__(self,app):
self.app=app
class ClientFactory(protocol.ClientFactory):
def buildProtocol(self, addr):
return User()
def run():
reactor.connectTCP("localhost",8000,ClientFactory())
reactor.run()
from kivy.app import App
from kivy.uix.relativelayout import RelativeLayout
from kivy.lang import Builder
from kivy.uix.screenmanager import Screen, ScreenManager
Builder.load_file("chat.kv")
Builder.load_file("chat2.kv")
class User1(Screen):
pass
class User2(Screen):
pass
s=ScreenManager()
s.add_widget(User1(name="start"))
s.add_widget(User2(name="let's_chat"))
class ChatApp(App):
def connect(self):
print(self.root.ids.message.text)
self.parent.current="let's_chat"
def build(self):
return s
if __name__=="__main__":
ChatApp().run()
als ich "self.root.ids.message.text" verwenden, zeigt es immer, dass " 'super' Objekt kein Attribut 'getattr' hat". Ich habe viele Male gesucht, aber keine Lösung gefunden. Unten ist die kv-Datei davon: -
<User1>:
RelativeLayout:
TextInput:
text:
pos_hint:{"center_x":.5,"center_y":.5}
size_hint: .3, .2
Button:
text:"start"
pos_hint:{"x":0,"bottom":0}
size_hint: .3, .2
on_press:
app.connect()
Bitte helfen.
Ich habe "id: message", unter TextInput, aber immer noch mit dem gleichen Fehler –
vielleicht sollten Sie einige Attribute in der Klasse 'ChatApp' durch die Implementierung eines' _init___ (self): 'Konstruktor und Aufruf' super() ChatApp, self) .__ init __() 'innerhalb – PRMoureu
Danke für Ihren Vorschlag, aber es hat nicht funktioniert. –