我试图用python中的sockets和kivy来制作一个聊天程序。我为客户端编写了一段代码,当服务器发送消息时,接收该消息并更改TextInput的text属性,但出现了以下错误:AttributeError: 'kivy.properties.ObjectProperty' object has no attribute 'text'
在图形用户界面.py文件:
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.properties import ObjectProperty
import client
def RecvMsg(DATA):
# The error occurs in there
ScreenMng.textbox.text += DATA + "\n"
class MainScreen(Screen):
pass
class SecondScreen(Screen):
pass
class ScreenMng(ScreenManager):
textbox = ObjectProperty(None)
def SendMsg(self, DATA):
client.Client_Send(DATA)
def GetIPNAME(self, IP, NAME):
client.Connect(str(IP), str(NAME))
class MyApp(App):
title= "CHAT"
def build(self):
return ScreenMng()
if __name__ == "__main__":
MyApp().run()
在千伏文件:
^{pr2}$
我想你只需要改变一下:
收件人:
^{pr2}$ScreenMng
类的textbox
属性必须作为实例属性引用。使用它作为ScreenMng.textbox
只是对ObjeectProperty
本身的引用。在相关问题 更多 >
编程相关推荐