Example #1
0
class GUI(QWidget):
    def __init__(self, parent=None):
        super().__init__()
        self.ip = '10.61.62.3'

        #self.timer_camera = QtCore.QTimer()
        self.initUI()
        self.cap = cv2.VideoCapture("http://" + str(self.ip) +
                                    ":8081/?action=stream?dummy=param.mjpg")
        self.CAM_NUM = 0
        super(GUI, self).__init__(parent)
        self.image = QtGui.QImage()
        self.setAttribute(QtCore.Qt.WA_OpaquePaintEvent)

    def paintEvent(self, event):
        painter = QtGui.QPainter(self)
        painter.drawImage(0, 0, self.image)
        self.image = QtGui.QImage()

    def setImage(self, image):
        if image.isNull():
            print("Viewer Dropped frame!")

        self.image = image
        if image.size() != self.size():
            self.setFixedSize(image.size())
        self.update()

    def initUI(self):
        self.motor1 = QProgressBar(self)
        self.motor1.setGeometry(150, 100, 100, 200)
        self.motor1.setValue(0)

        self.motor2 = QProgressBar(self)
        self.motor2.setGeometry(150, 320, 100, 200)
        self.motor2.setValue(0)

        self.motor3 = QProgressBar(self)
        self.motor3.setGeometry(250, 100, 100, 200)
        self.motor3.setValue(0)

        self.motor4 = QProgressBar(self)
        self.motor4.setGeometry(250, 320, 100, 200)
        self.motor4.setValue(0)

        self.elv1 = QPushButton(self)
        self.elv1.setGeometry(500, 100, 50, 50)
        self.Elv1 = QtWidgets.QLabel(self)
        self.Elv1.setGeometry(500, 150, 200, 50)
        self.Elv1.setText('Elevators')
        self.motor56 = QtWidgets.QLabel(self)
        self.motor56.setGeometry(500, 200, 200, 50)
        self.motor56.setText('shoulder motors')
        self.motor5 = QPushButton(self)
        self.motor5.setGeometry(500, 250, 50, 50)
        self.motor6 = QPushButton(self)
        self.motor6.setGeometry(500, 300, 50, 50)
        self.SW12 = QtWidgets.QLabel(self)
        self.SW12.setGeometry(500, 200, 200, 50)
        self.SW12.setText('wuts SW')
        self.SWN1 = QPushButton(self)
        self.SWN1.setGeometry(500, 250, 50, 50)
        self.SWN2 = QPushButton(self)
        self.SWN2.setGeometry(500, 300, 50, 50)

        self.elv2 = QPushButton(self)
        self.elv2.setGeometry(600, 100, 50, 50)

        self.Left = QPushButton(self)
        self.Left.setGeometry(150, 20, 50, 50)
        self.Left.setText('L')

        self.Right = QPushButton(self)
        self.Right.setGeometry(250, 20, 50, 50)
        self.Right.setText('R')

        self.dist = QPushButton(self)
        self.dist.setGeometry(20, 670, 100, 50)
        self.dist.setText('Distance:')

        self.time = QPushButton(self)
        self.time.setGeometry(340, 670, 100, 50)
        self.time.setText('Time:')

        self.dist1 = QPushButton(self)
        self.dist1.setGeometry(140, 670, 100, 50)
        self.dist2 = QPushButton(self)
        self.dist2.setGeometry(140, 750, 100, 50)

        self.time1 = QPushButton(self)
        self.time1.setGeometry(460, 670, 100, 50)
        self.time2 = QPushButton(self)
        self.time2.setGeometry(460, 750, 100, 50)

        self.auto1 = QPushButton(self)
        self.auto1.setGeometry(600, 670, 40, 40)
        self.auto1.setText('colour')
        self.auto1.clicked.connect(self.A1)
        self.auto2 = QPushButton(self)
        self.auto2.setGeometry(640, 670, 40, 40)
        self.auto2.clicked.connect(self.A2)
        self.auto2.setText('1')
        self.auto3 = QPushButton(self)
        self.auto3.setGeometry(680, 670, 40, 40)
        self.auto3.setText('2')
        self.auto3.clicked.connect(self.A3)
        self.auto4 = QPushButton(self)
        self.auto4.setGeometry(720, 670, 40, 40)
        self.auto4.setText('start')
        self.auto4.clicked.connect(self.A4)
        self.auto5 = QPushButton(self)
        self.auto5.setGeometry(760, 670, 40, 40)
        self.auto5.setText('1')
        self.auto5.clicked.connect(self.A5)
        self.auto6 = QPushButton(self)
        self.auto6.setGeometry(800, 670, 40, 40)
        self.auto6.setText('2')
        self.auto6.clicked.connect(self.A6)
        self.auto7 = QPushButton(self)
        self.auto7.setGeometry(840, 670, 40, 40)
        self.auto7.setText('3')
        self.auto7.clicked.connect(self.A7)
        '''
        self.auto8 = QPushButton(self)
        self.auto8.setGeometry(880,670,40,40)
        self.auto8.setText('8')
        self.auto8.clicked.connect(self.A8)
        self.auto9 = QPushButton(self)
        self.auto9.setGeometry(920,670,40,40)
        self.auto9.setText('9')
        self.auto9.clicked.connect(self.A9)
        self.auto10 = QPushButton(self)
        self.auto10.setGeometry(960,670,40,40)
        self.auto10.setText('10')
        self.auto10.clicked.connect(self.A10)
        self.auto11 = QPushButton(self)
        self.auto11.setGeometry(1000,670,40,40)
        self.auto11.setText('11')
        self.auto11.clicked.connect(self.A11)
        self.auto12 = QPushButton(self)
        self.auto12.setGeometry(1040,670,40,40)
        self.auto12.setText('12')
        self.auto12.clicked.connect(self.A12)
        '''
        self.ToBe1 = QPushButton(self)
        self.ToBe1.setGeometry(800, 750, 100, 50)
        self.ToBe1.setText('not running')
        self.ToBe2 = QPushButton(self)
        self.ToBe2.setGeometry(910, 750, 100, 50)
        self.ToBe2.setText('not running')
        self.driNum = QPushButton(self)
        self.driNum.setGeometry(800, 250, 50, 50)
        self.Gyro = QPushButton(self)
        self.Gyro.setGeometry(900, 320, 50, 50)
        self.Gyro.setText('0')
        self.ArmState = QPushButton(self)
        self.ArmState.setGeometry(1000, 390, 200, 50)
        self.ArmState.setText('not sure')

        self.gyro = QtWidgets.QLabel(self)
        self.gyro.setGeometry(900, 250, 100, 50)
        self.gyro.setText('gyro:')
        self.arm = QtWidgets.QLabel(self)
        self.arm.setGeometry(1000, 320, 100, 50)
        self.arm.setText('arm:')
        self.AutoMATA = QtWidgets.QLabel(self)
        self.AutoMATA.setGeometry(600, 750, 250, 50)
        self.AutoMATA.setText('Current autonomous code:')
        self.driFac = QtWidgets.QLabel(self)
        self.driFac.setGeometry(800, 170, 200, 50)
        self.driFac.setText('driver factor:')
        '''
        self.btn1 = QPushButton(self)
        self.btn1.setGeometry(130, 40, 200, 25)
        
        self.l1=QtWidgets.QLabel(self)
        self.l1.setGeometry(30,40,50,25)
        self.l1.setText('Left')
        
        self.btn2 = QPushButton(self)
        self.btn2.setGeometry(130, 75, 200, 25)
        self.l1=QtWidgets.QLabel(self)
        self.l1.setGeometry(30,75,50,25)
        self.l1.setText('Right')
        
        self.btn3 = QPushButton(self)
        self.btn3.setGeometry(130, 110, 200, 25)
        self.l1=QtWidgets.QLabel(self)
        self.l1.setGeometry(30,110,50,25)
        self.l1.setText('Camera')
        
        self.btn4 = QPushButton(self)
        self.btn4.setGeometry(130, 145, 200, 25)
        self.l1=QtWidgets.QLabel(self)
        self.l1.setGeometry(30,145,50,25)
        self.l1.setText('Gyro')
        
        self.atbt1 = QPushButton(self)
        self.atbt1.setGeometry(30,180,50,25)
        self.atbt1.setText('1')
        self.atbt1.clicked.connect(self.changeat1)
        
        self.atbt1 = QPushButton(self)
        self.atbt1.setGeometry(90,180,50,25)
        self.atbt1.setText('2')
        self.atbt1.clicked.connect(self.changeat2)
        
        self.atbt1 = QPushButton(self)
        self.atbt1.setGeometry(150,180,50,25)
        self.atbt1.setText('3')
        self.atbt1.clicked.connect(self.changeat3)
        
        self.atbt1 = QPushButton(self)
        self.atbt1.setGeometry(210,180,50,25)
        self.atbt1.setText('4')
        self.atbt1.clicked.connect(self.changeat4)

        '''
        self.timer = QBasicTimer()
        self.step = 0
        self.timer.start(100, self)

        self.setGeometry(100, 100, 1500, 900)
        self.setWindowTitle('Input dialog')

        self.show()

    def timerEvent(self, e):

        NetworkTables.initialize(server='10.61.62.2')
        self.sd = NetworkTables.getTable("SmartDashboard")
        M0 = self.sd.getNumber('M0', 0)
        self.motor1.setValue(M0 * 100)
        M1 = self.sd.getNumber('M1', 0)
        self.motor2.setValue(M1 * 100)
        M2 = self.sd.getNumber('M2', 0)
        self.motor3.setValue(M2 * 100)
        M3 = self.sd.getNumber('M3', 0)
        self.motor4.setValue(M3 * 100)
        E0 = self.sd.getNumber('E1', 0)
        self.elv1.setText(str(E0))
        E1 = self.sd.getNumber('E2', 0)
        self.elv2.setText(str(E1))
        D1 = self.sd.getNumber('EC1', 0)
        self.dist1.setText(str(D1))
        D2 = self.sd.getNumber('EC2', 0)
        self.dist2.setText(str(D2))
        T1 = self.sd.getNumber('EC3', 0)
        self.time1.setText(str(T1))
        T2 = self.sd.getNumber('EC4', 0)
        self.time2.setText(str(T2))
        G1 = self.sd.getNumber('gyro', 0)
        self.Gyro.setText(str(G1))
        S1 = self.sd.getNumber('S1', 0)
        self.motor5.setText(str(S1))
        S2 = self.sd.getNumber('S2', 0)
        self.motor6.setText(str(S2))
        SW1 = self.sd.getValue('SW1', 0)
        self.SWN1.setText(str(SW1))
        SW2 = self.sd.getValue('SW2', 0)
        self.SWN2.SetText(str(SW2))

    def A1(self):
        print('clicked')
        self.sd.putNumber('target', 0)
        #self.ToBe1.setText('1')
    def A2(self):
        print('clicked')
        self.sd.putNumber('target', 1)
        self.ToBe1.setText('1')

    def A3(self):
        print('clicked')
        self.sd.putNumber('target', 2)
        self.ToBe1.setText('2')

    def A4(self):
        print('clicked')
        self.sd.putNumber('start', 0)
        #self.ToBe.setText('4')
    def A5(self):
        print('clicked')
        self.sd.putNumber('startP', 1)
        self.ToBe2.setText('1')

    def A6(self):
        print('clicked')
        self.sd.putNumber('startP', 2)
        self.ToBe2.setText('2')

    def A7(self):
        print('clicked')
        self.sd.putNumber('startP', 3)
        self.ToBe2.setText('3')

    '''