1
|
from PyQt5.QtCore import QSize, QThread
|
2
|
from PyQt5.QtWidgets import QMainWindow, QPlainTextEdit
|
3
|
|
4
|
from aswi2021vochomurka.service.mqtt.mqtt_subscriber import MQTTSubscriber
|
5
|
|
6
|
|
7
|
class MainView(QMainWindow):
|
8
|
worker = None
|
9
|
workerThread = None
|
10
|
|
11
|
def __init__(self):
|
12
|
QMainWindow.__init__(self)
|
13
|
|
14
|
self.setMinimumSize(QSize(440, 240))
|
15
|
self.setWindowTitle("MQTT demo")
|
16
|
|
17
|
# Add text field
|
18
|
self.b = QPlainTextEdit(self)
|
19
|
self.b.insertPlainText("App started...\n")
|
20
|
self.b.move(10, 10)
|
21
|
self.b.resize(400, 200)
|
22
|
|
23
|
self.initSubscriber()
|
24
|
|
25
|
def initSubscriber(self):
|
26
|
self.workerThread = QThread()
|
27
|
self.worker = MQTTSubscriber()
|
28
|
self.worker.moveToThread(self.workerThread)
|
29
|
self.workerThread.started.connect(self.worker.start)
|
30
|
self.worker.newMessage.connect(
|
31
|
lambda message: self.b.insertPlainText(message + "\n")
|
32
|
)
|
33
|
self.workerThread.start()
|