pyqt 新建一个窗口,用zmq发送消息
时间: 2023-10-30 15:38:30 浏览: 55
类似于使用Tkinter创建GUI窗口,使用PyQt也可以很容易地创建窗口。下面是一个简单的示例代码,可以创建一个窗口并使用zmq发送和接收消息:
```python
import sys
import zmq
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建一个按钮,并在点击时发送消息
button = QPushButton("Send Message", self)
button.setGeometry(50, 50, 100, 50)
button.clicked.connect(self.send_message)
# 设置窗口大小和标题
self.setGeometry(300, 300, 200, 150)
self.setWindowTitle('ZMQ Demo')
def send_message(self):
context = zmq.Context()
socket = context.socket(zmq.REQ)
socket.connect("tcp://localhost:5555")
message = "Hello, World!"
socket.send(message.encode())
response = socket.recv()
print("Received response: %s" % response)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
```
在这个示例中,我们创建了一个继承自QMainWindow的MyWindow类。在MyWindow的构造函数中,我们创建了一个按钮,并在点击时调用send_message()方法发送消息。在send_message()方法中,我们创建了一个ZMQ上下文和套接字,然后连接到一个本地TCP端口。我们发送一个“Hello, World!”消息,等待接收器的响应,并在控制台上打印响应消息。
同样,你需要在运行这段代码之前确保有一个ZMQ接收器正在监听本地TCP端口5555。