首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyQt5连接到Websocket -等待来自服务器的信号

PyQt5连接到Websocket -等待来自服务器的信号
EN

Stack Overflow用户
提问于 2018-02-09 23:45:32
回答 1查看 1.2K关注 0票数 0

我正在尝试连接到一个扫描仪,它提供一个通过apiport的REST Api。在我可以这样做之前,我必须使用PyQt5连接到扫描仪并签署challange。我有一个C++代码作为示例,但是我找不到相应的PyQt类/方法。

基本上,我正在寻找一种方法来替换C++中的这些行:

代码语言:javascript
复制
QWebSocket socket;
QString address = "127.0.0.1";
QString port = "1234";
connect(&socket,&QWebSocket::textMessageReceived,this,&Client::onTextMessageReceived);
socket.open(QUrl(QString("ws://%1:%2").arg(address).arg(port)));

我的问题是这一行:

代码语言:javascript
复制
connect(&socket,&QWebSocket::textMessageReceived,this,&Client::onTextMessageReceived);

有人能帮我解决这个问题吗?到目前为止,我只知道:(但它抛出了错误: TypeError: native Qt signal is not callable)

代码语言:javascript
复制
class Client(QtCore.QObject):
    def __init__(self, parent):
        super().__init__(parent)

        self.client =  QtWebSockets.QWebSocket("",QtWebSockets.QWebSocketProtocol.Version13,None)
        #self.client.error.connect(self.error)
        print("Trigger")
        trigger = self.client.textMessageReceived()


        #self.client.open(QUrl("ws://"+UDP_IP+":"+str(notificationsport)))

    def ontextmsgreceived():
        print("Text MSG received")

    def close(self):
        self.client.close()




global client
app = QApplication(sys.argv)
client = Client(app)
app.exec_()

非常感谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-10 01:32:20

在PyQt中,连接语法如下:

C++:

代码语言:javascript
复制
connect(sender, &Class_sender::some_signal, receiver, &Class_receiver::some_slot);

python:

代码语言:javascript
复制
sender.some_signal.connect(receiver.some_slot)

所以在你的例子中:

代码语言:javascript
复制
self.client.textMessageReceived.connect(self.ontextmsgreceived)

另一个问题是,您的插槽是类的方法,因此第一个参数必须是self,此外,textMessageReceived信号发送一个文本作为参数,因此插槽必须具有相同的参数:

代码语言:javascript
复制
def ontextmsgreceived(self, message):
    print("Text MSG received", message)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48709399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档