PyQt:从QThread到QWidget的Emtting信号

时间:2014-03-18 08:24:32

标签: python multithreading pyqt

我一直想实现聊天客户端/服务器,PyQt处理GUI前端。我面临的问题是,当我想告诉已连接的客户端另一个新客户端已加入时。最初我通过添加“刷新用户”按钮来处理它,该按钮向客户端发送更新的列表。但是,现在当客户端必须向另一个客户端发送消息时,我意识到我显然必须创建一个单独的线程来继续检查来自服务器的数据。我从昨天开始尝试,阅读各种帖子/答案,论坛但仍然无法让这个工作。

我想要的是一个单独的线程,它在程序开始时执行,它检查来自服务器的数据,并且可以发出信号,在GUI线程中启动该功能以更改用户列表。如何使一个不断工作的线程发出可以被主GUI循环捕获的信号?我应该如何捕获信号?

1 个答案:

答案 0 :(得分:2)

与其他Qt组件相同:您为网络管理创建QThread,QThread派生类发出信号,其中一些数据来自网络;在主线程方面,您有连接到这些信号的QObjects和QWidgets。看看下面的内容(按此顺序):

一旦您阅读了这些并尝试了自己的代码,那么您可以发布一个新问题,其中包含您遇到的更具体问题。否则,你的问题太宽泛了。