属性错误:'kivy.properties.ObjectProperty'对象没有属性'text'

2024-10-02 10:22:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用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}$

Tags: 文件textfromimportselfclient消息data
1条回答
网友
1楼 · 发布于 2024-10-02 10:22:05

我想你只需要改变一下:

ScreenMng.textbox.text += DATA + "\n"

收件人:

^{pr2}$

ScreenMng类的textbox属性必须作为实例属性引用。使用它作为ScreenMng.textbox只是对ObjeectProperty本身的引用。在

相关问题 更多 >

    热门问题