123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- import time
- from concurrent.futures import ThreadPoolExecutor
- from PyQt5.QtCore import QTimer
- from PyQt5.QtWidgets import QFrame, QLabel, QPushButton
- import Count
- class JointControlFrame(QFrame):
- threadPool_ = ThreadPoolExecutor(5)
- def __init__(self, robot1, robot2):
- QFrame.__init__(self)
- self.targetId_ = None
- self.begId_ = None
- self.robot1 = robot1
- self.robot2 = robot2
- self.robot1_parameters = dict()
- self.robot2_parameters = dict()
- self.InitUI()
- self.setFrameShape(self.StyledPanel)
- self.timer_ = QTimer()
- self.timer_.timeout.connect(self.Update)
- self.timer_.start(100)
- def testadjust(self, beg, target):
- autoDirect = True
- self.threadPool_.submit(self.robot1.Navigatting,
- beg, target, autoDirect)
- time.sleep(2)
- self.threadPool_.submit(self.robot2.Navigatting,
- beg, target, autoDirect)
- def InitUI(self):
- self.btnSend = QPushButton(self)
- self.btnSend.setGeometry(80, 5, 100, 40)
- self.btnSend.setText("双单车协动")
- self.btnSend.clicked.connect(self.btnSendClick)
- self.btnCancel = QPushButton(self)
- self.btnCancel.setGeometry(200, 5, 100, 40)
- self.btnCancel.setText(" 取消")
- self.btnCancel.clicked.connect(self.btnCancelClick)
- def Update(self):
- if self.robot1.IsNavigating() is True or self.robot2.IsNavigating() is True:
- if self.btnSend.isEnabled():
- self.btnSend.setEnabled(False)
- else:
- self.btnSend.setEnabled(True)
- def btnSendClick(self):
- autoDirect = True
- self.threadPool_.submit(self.robot1.Navigatting,
- self.robot1_parameters["begId_"], self.robot1_parameters["targetId_"], autoDirect, "DoubleAGV")
- time.sleep(0.5)
- self.threadPool_.submit(self.robot2.Navigatting,
- self.robot2_parameters["begId_"], self.robot2_parameters["targetId_"], autoDirect, "DoubleAGV")
- def btnCancelClick(self):
- self.threadPool_.submit(self.robot1.CancelNavTask)
- self.threadPool_.submit(self.robot2.CancelNavTask)
- def SetRobot1_BaTID(self, begId_, targetId_):
- self.robot1_parameters["begId_"] = begId_
- self.robot1_parameters["targetId_"] = targetId_
- def SetRobot2_BaTID(self, begId_, targetId_):
- self.robot2_parameters["begId_"] = begId_
- self.robot2_parameters["targetId_"] = targetId_
- class CountFrame(QFrame):
- def __init__(self):
- QFrame.__init__(self)
- self.InitUI()
- self.timer_ = QTimer()
- self.timer_.timeout.connect(self.UpdateUI)
- self.timer_.start(200)
- def InitUI(self):
- self.static1 = QLabel(self)
- self.static1.setText("重载导航次数 : /")
- self.static1.setGeometry(5, 5, 200, 30)
- self.static2 = QLabel(self)
- self.static2.setText("单车导航次数 : /")
- self.static2.setGeometry(5, 40, 200, 30)
- def UpdateUI(self):
- load_str = "重载导航次数 : %d" % (Count.TestCount().loadCount())
- single_str = "单车导航次数 : %d" % (Count.TestCount().singleCount())
- self.static1.setText(load_str)
- self.static2.setText(single_str)
|