2025-01-06 11:21:04 +08:00
|
|
|
import sys
|
|
|
|
|
|
|
|
|
|
from PyQt6 import QtCore
|
|
|
|
|
from PyQt6.QtCore import QByteArray
|
|
|
|
|
from PyQt6.QtWidgets import QMainWindow, QApplication
|
|
|
|
|
|
|
|
|
|
from Main import Ui_MainWindow
|
2025-01-13 14:21:01 +08:00
|
|
|
from utils.Msg import KillMsg, Msg, ImageArgMsg
|
2025-01-06 11:21:04 +08:00
|
|
|
from ZMQReceiver import ZMQReceiver
|
|
|
|
|
from nodes.Node import Node
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Adv(QMainWindow, Ui_MainWindow):
|
|
|
|
|
def __init__(self, p: Node, parent=None):
|
|
|
|
|
super(Adv, self).__init__(parent)
|
|
|
|
|
self.p = p
|
|
|
|
|
self.setupUi(self)
|
|
|
|
|
zmq_receiver = ZMQReceiver(self)
|
|
|
|
|
zmq_receiver.zmq_event.connect(self.on_zmq_event)
|
|
|
|
|
zmq_receiver.start()
|
|
|
|
|
self.horizontalSlider.valueChanged.connect(self.vc)
|
|
|
|
|
|
|
|
|
|
def on_zmq_event(self, msg: QByteArray):
|
|
|
|
|
msg = Msg.decode_msg(msg.data())
|
|
|
|
|
if isinstance(msg, KillMsg):
|
|
|
|
|
if msg.name == '':
|
|
|
|
|
self.close()
|
|
|
|
|
elif isinstance(msg, ImageArgMsg):
|
|
|
|
|
self.horizontalSlider.setValue(msg.v1)
|
|
|
|
|
|
|
|
|
|
@QtCore.pyqtSlot(int)
|
|
|
|
|
def vc(self, v):
|
|
|
|
|
if self.horizontalSlider.sender() is None:
|
|
|
|
|
self.p.send(ImageArgMsg('ui', v))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MainUI(Node):
|
|
|
|
|
topics = [ImageArgMsg]
|
|
|
|
|
|
|
|
|
|
def __init__(self):
|
|
|
|
|
super().__init__()
|
|
|
|
|
|
|
|
|
|
def loop(self):
|
|
|
|
|
app = QApplication(sys.argv)
|
|
|
|
|
MainWindow = Adv(self)
|
|
|
|
|
# MainWindow.move(int(px), int(py))
|
|
|
|
|
# MainWindow.resize(int(sx), int(sy))
|
|
|
|
|
MainWindow.show()
|
|
|
|
|
app.exec()
|