首页 > 解决方案 > 从 Python 中的另一个类访问变量

问题描述

我有两个类OpenInvitationAcceptinvitation我想访问,self.socketIOReqAccept这是一个 socketIO 对象OpenInvitationAcceptinvitation

开放邀请

from socketIO_client_nexus import SocketIO, LoggingNamespace
import threading

class OpenInvitation():
    def __init__(self):
        thread = threading.Thread(target=self.socket)
        thread.start()

    def socket(self):.
        def getSID(args):
            NOWsocketID = args
            self.socketIDfromOpenforPlay = NOWsocketID
            print(NOWsocketID)

        self.socketIOReqAccept = SocketIO('http://192.168.219.1', 5200, LoggingNamespace)
        self.socketIOReqAccept.on('s_id', getSID)
        self.socketIOReqAccept.wait()

我正在尝试self.socketIOReqAccept从开放的邀请类中获取变量。

socketIO = self.OpenForPlay.socketIOReqAccept在另一个线程中尝试过,但它正在停止我同时运行的 GUI。

这个你能帮我吗。

标签: pythonmultithreadingsocketsinheritancemultiple-inheritance

解决方案


self.sockerIOReqAccept在 init 方法中实例化:

from socketIO_client_nexus import SocketIO, LoggingNamespace
import threading

class OpenInvitation():
    def __init__(self):
        self.socketIOReqAccept = SocketIO('http://192.168.219.1', 5200, LoggingNamespace)
        thread = threading.Thread(target=self.socket)
        thread.start()

    def socket(self):.
        def getSID(args):
            NOWsocketID = args
            self.socketIDfromOpenforPlay = NOWsocketID
            print(NOWsocketID)

        self.socketIOReqAccept.on('s_id', getSID)
        self.socketIOReqAccept.wait()

oi = OpenInvitation()
socker = oi.socketIOReqAccept

推荐阅读