Exemple #1
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.kalibredurumu=0
     self.stopflag =False
     self.dosya_yol=''
     self.resize(1926, 1006)
     self.frame_gl=QFrame()    
     opengl=QOpenGLWidget(parent=self.frame_gl)
     self.setWindowIcon(QIcon("logo1.png"))
     self.setAutoFillBackground(True)      
     oImage=QImage("ekran8.png")
     sImage=oImage.scaled(QSize(1926, 1020))
     palette=QPalette()
     palette.setBrush(QPalette.Window, QBrush(sImage))                        
     self.setPalette(palette)
     self.bosluk=QLabel("    ")
     self.genelhbox=QHBoxLayout()
     self.firstvb=QVBoxLayout()
     self.logo=QLabel()
     self.motorkontrolu = QGroupBox("Manuel Tahrik Komutu")
     self.motorbasla=QPushButton("BAŞLA")
     self.motordur=QPushButton("DUR")
     self.motorbasla.setFixedHeight(27)
     self.motordur.setFixedHeight(27)
     self.motorbasla.clicked.connect(self.motorBasla)
     self.motordur.clicked.connect(self.motorDur)
     self.motor=QVBoxLayout()
     self.motor.addWidget(self.motorbasla)
     self.motor.addWidget(self.motordur)
     self.motorkontrolu.setLayout(self.motor)
     self.splitter8 = QSplitter()
     self.splitter8.setOrientation(Qt.Vertical)
     self.logo.setFixedHeight(150)
     self.logo.setFixedWidth(190)
     self.logo.setPixmap(QPixmap("logo4.PNG"))        
     self.logo.setAlignment(Qt.AlignTop)
     self.takimno=QLabel("Takım No:56701")
     self.takimno.setFont(QFont("Comic Sans MS",11,QFont.Bold))
     self.hata1=0
     self.portyap=QHBoxLayout()
     scene2 = QGraphicsScene(self)
     self.gpslongitude=[33.7115]
     self.gpslatitude=[38.3980]
     try:
         self.capture = cv2.VideoCapture(camera_index)
         self.dimensions = self.capture.read()[1].shape[1::-1]
         pixmap2 = QPixmap(*self.dimensions)
         self.pixmapItem2 = scene2.addPixmap(pixmap2) 
     except AttributeError:
         self.hata1=1
     self.view2 = QGraphicsView(self)
     self.view2.setScene(scene2)
     self.view2.setFixedHeight(430)
     self.view2.setFixedWidth(335)
     self.view3 = MapGraphicsView(tileSource=MapTileSourceHere()) #tileSource=MapTileSourceOSM("map.osm")
     self.view3.scene().setCenter(self.gpslongitude[0], self.gpslatitude[0])
     self.view3.setOptimizationFlag(QGraphicsView.DontSavePainterState, True)
     self.view3.setRenderHint(QPainter.Antialiasing, True)
     self.view3.setRenderHint(QPainter.SmoothPixmapTransform, True)
     self.z=0
     self.y=0
     self.frame=QFrame()
     self.resize(1926, 1006)
     self.view3.setFixedWidth(335)
     self.view3.setFixedHeight(407)
     self.twovb=QVBoxLayout()
     self.view3.setStyleSheet("border:1px solid #000000")
     self.threevb=QVBoxLayout()
     self.threevbh=QHBoxLayout()
     self.threevbh.addWidget(self.logo) 
     self.threevbh.addWidget(self.takimno)
     self.firstvb.addLayout(self.threevbh)
     self.firstvb.addWidget(self.view2)
     self.tableWidget3=QTableWidget()
     self.tableWidget3.setEditTriggers(QTableWidget.NoEditTriggers)
     self.tableWidget3.setColumnCount(17)
     self.tableWidget3.setHorizontalHeaderLabels(str("TAKIM NO;PAKET NUMARASI;GÖNDERME SAATİ;BASINÇ;YÜKSEKLİK;İNİŞ HIZI;SICAKLIK;PİL GERİLİMİ;GPS LATITUDE;GPS LONGITUDE;GPS ALTITUDE;UYDU STATÜSÜ;PITCH;ROLL;YAW;DÖNÜŞ SAYISI;VİDEO AKTARIM BİLGİSİ").split(";"))
     self.tableWidget3.verticalHeader().hide()
     self.tableWidget3.horizontalHeader().setDefaultAlignment(Qt.AlignLeft)
     self.tableWidget3.horizontalScrollBar().hide()
     self.tableWidget3.setStyleSheet("font:9px;")
     self.tableWidget3.setColumnWidth(0,59)
     self.tableWidget3.setColumnWidth(1,98)
     self.tableWidget3.setColumnWidth(2,95)
     self.tableWidget3.setColumnWidth(3,45)
     self.tableWidget3.setColumnWidth(4,60)
     self.tableWidget3.setColumnWidth(5,53)
     self.tableWidget3.setColumnWidth(6,51)
     self.tableWidget3.setColumnWidth(7,71)
     self.tableWidget3.setColumnWidth(8,77)
     self.tableWidget3.setColumnWidth(9,89)
     self.tableWidget3.setColumnWidth(10,77)
     self.tableWidget3.setColumnWidth(11,84)
     self.tableWidget3.setColumnWidth(12,38)
     self.tableWidget3.setColumnWidth(13,32)
     self.tableWidget3.setColumnWidth(14,31)
     self.tableWidget3.setColumnWidth(15,80)
     self.tableWidget3.setColumnWidth(16,151)
     self.splitter10 = QSplitter()
     self.splitter10.setOrientation(Qt.Vertical)
     self.twovbhb1=QHBoxLayout()
     self.twovbhb12=QHBoxLayout()
     self.twovbhb13=QHBoxLayout()
     self.twovbhb14=QHBoxLayout()
     self.twovbhb15=QHBoxLayout()
     self.twovbhb16=QHBoxLayout()
     self.twovbvb1=QVBoxLayout()
     self.twovbhb2=QHBoxLayout()
     self.twovbhb3=QHBoxLayout()
     self.twovbvb2=QVBoxLayout()
     self.uydu_statu=["Görev Başladı","Uçuş Bekleniyor","Model Uydu Yükselmekte","Model Uydu İnişte","Görev Yükü Taşıyıcıdan Ayrıldı","Görev Yükü Kurtarılmayı Bekliyor","Görev Tamamlandı"]
     self.port=QLabel("Port:")
     self.port2=QLabel("Port:")
     self.port.setFixedWidth(50)
     
     self.port.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.ports=QComboBox()
     self.ports.setFixedWidth(150)
     self.ports.addItems([''])
     self.ports.addItems(self.portlar())
     self.ports.setStyleSheet("font: bold 15px;")
     self.groupbox2 = QGroupBox("1. Seri Port Yapılandırması")     
     self.groupbox1 = QGroupBox("Ayrılma Yüksekliği Değiştirme") 
     self.groupbox5 = QGroupBox("2. Seri Port Yapılandırması")
     self.yukseklikQHB=QHBoxLayout()        
     self.yukseklikd=QLabel("Ayrılma Yüksekliğini Giriniz:")
     self.yukseklikd.setFixedWidth(240)
     self.yukseklik=QLineEdit()
     self.yukseklikgonder=QPushButton("GÖNDER")
     self.yukseklikgonder.clicked.connect(self.yukseklikGonder)
     self.yukseklikQHB.addWidget(self.yukseklikd)
     self.yukseklikQHB.addWidget(self.yukseklik)
     self.yukseklikQHB.addWidget(self.yukseklikgonder)
     self.groupbox1.setLayout(self.yukseklikQHB)
     self.start=QPushButton("BAŞLA")
     self.start.setFont(QFont("Comic Sans MS",9,))
     self.start.clicked.connect(self.Start)
     self.start.setInputMethodHints(Qt.ImhNone)
     
     self.baudrates=QLabel("Baudrate:")
     self.baudrates.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.baudrate=QComboBox()
     self.baudrate.setFixedWidth(100)
     self.baudrate.addItems(["","9600","19200","115200", "38400"])
     self.baudrate.setStyleSheet("font: bold 15px;")
     self.baudrates.setFixedWidth(80)
     
     self.port2.setFixedWidth(50)
     self.port2.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.ports2=QComboBox()
     self.ports2.setFixedWidth(150)
     self.ports2.addItems([''])
     self.ports2.addItems(self.portlar())
     self.ports2.setStyleSheet("font: bold 15px;")
     self.groupbox11 = QGroupBox("Seri Port Yapılandırması")        
     self.start2=QPushButton("BAŞLA")
     self.start2.setFont(QFont("Comic Sans MS",9,))
     self.start2.clicked.connect(self.Start2)
     self.baudrates2=QLabel("Baudrate:")
     self.baudrates2.setFont(QFont("Comic Sans MS",10,QFont.Bold))
     self.baudrate2=QComboBox()
     self.baudrate2.setFixedWidth(100)
     self.baudrate2.addItems(["","9600","19200","115200", "38400"])
     self.baudrate2.setStyleSheet("font: bold 15px;")
     self.baudrates2.setFixedWidth(80)
     
     self.gerial=QPushButton("GERİ AL")
     self.gerial.setFixedHeight(27)
     self.twovbhb15.addWidget(self.gerial)
     self.kalibrasyon=QPushButton("KALİBRE ET")
     self.kalibrasyon.setFixedHeight(27)
     self.kalibrasyon.setFixedWidth(85)
     self.kalibrasyon.clicked.connect(self.KalibrEt)
     self.ayarlar=QVBoxLayout()
     self.diger_ayarlar_ac=QPushButton("AÇ")
     self.diger_ayarlar_kapat=QPushButton("KAPAT")
     self.diger_ayarlar_ac.setFixedHeight(27)
     self.diger_ayarlar_kapat.setFixedHeight(27)
     self.ayarlar.addWidget(self.diger_ayarlar_ac)
     self.ayarlar.addWidget(self.diger_ayarlar_kapat)
     self.diger_ayarlar_ac.clicked.connect(self.ayarlarAc)
     self.diger_ayarlar_kapat.clicked.connect(self.ayarlarKapat)
     self.gerial.clicked.connect(self.geriAl)
     self.iletimdurumu=QLabel("Video İletim Durumu:")
     self.ayırma=QPushButton("AYIR")
     self.ayırma.clicked.connect(self.Ayir)
     self.kalibrasyon.setFont(QFont("Comic Sans MS",9))
     self.ayırma.setFixedWidth(85)
     self.ayırma.setFixedHeight(27)
     self.gerial.setFixedWidth(113)
     self.groupbox4 = QGroupBox("Ayrılma Komutu")
     self.groupbox10 = QGroupBox("Ayarlar")
     self.groupbox8 = QGroupBox("Kalibrasyon Komutu")
     self.groupbox3 = QGroupBox("Verileri Arayüze Geri Alma Komutu")
     self.groupbox10.setLayout(self.ayarlar)
     self.groupbox8.setLayout(self.twovbhb16)
     self.groupbox3.setLayout(self.twovbhb15)
     self.twovbhb14.addWidget(self.ayırma)
     self.twovbhb16.addWidget(self.kalibrasyon)
     self.groupbox4.setLayout(self.twovbhb14)
     self.ayırma.setFont(QFont("Comic Sans MS",9))
     self.gerial.setFont(QFont("Comic Sans MS",9))
     self.packetcount=QLabel("Paket Numarası:")
     self.packetcount2=QLabel()
     self.packetcount.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.packetcount2.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.packetcount.setFixedWidth(137)
     self.missiontime=QLabel("Gönderme Saati:")
     self.missiontime2=QLabel()
     self.missiontime2.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.missiontime.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.missiontime.setFixedWidth(157)
     self.start.setInputMethodHints(Qt.ImhNone)
     self.dosyasecs=QLabel("Dosya Seç:")
     self.dosyasecs.setFixedHeight(20)
     self.dosyasecs.setFixedWidth(90)
     self.dosyasecs.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.dosyasec=QPushButton("...")
     self.dosyasec.setFixedHeight(27)
     self.dosyasec.clicked.connect(self.Dosyasec)
     self.stop=QPushButton("DUR")
     self.stop.setInputMethodHints(Qt.ImhNone)
     self.stop.clicked.connect(self.Stop)
     self.stop.setFont(QFont("Comic Sans MS",9))
     
     self.stop2=QPushButton("DUR")
     self.stop2.setInputMethodHints(Qt.ImhNone)
     self.stop2.clicked.connect(self.Stop2)
     self.stop2.setFont(QFont("Comic Sans MS",9))
     
     self.dosyasec.setFixedHeight(20)
     self.dosyasec.setFixedWidth(20)
     self.gonder=QPushButton("GÖNDER")
     self.gonder.setFixedHeight(27)
     self.gonder.setDisabled(True)
     self.gonder.setFixedWidth(110)
     self.gonder.setFont(QFont("Comic Sans MS",9,))
     self.groupbox = QGroupBox("Video Aktarımı")
     self.iletimdurumu.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.gbvx=QVBoxLayout()
     self.gbx=QHBoxLayout()
     self.gbx.addWidget(self.dosyasecs)
     self.gbx.addWidget(self.dosyasec)
     self.gbx.addWidget(self.gonder)
     self.gbvx.addLayout(self.gbx)
     self.gbvx.addWidget(self.iletimdurumu)
     self.groupbox.setLayout(self.gbvx) 
     self.gonder.clicked.connect(self.Gonder)
     self.twovbhb18=QHBoxLayout()
     self.twovbhb18.addWidget(self.port2)
     self.twovbhb18.addWidget(self.ports2)
     self.twovbhb18.addWidget(self.baudrates2)
     self.twovbhb18.addWidget(self.baudrate2)
     
     self.twovbhb19=QHBoxLayout()
     self.twovbhb19.addWidget(self.start2)
     self.twovbhb19.addWidget(self.stop2)
     
     self.twovbhb13.addWidget(self.port)
     self.twovbhb13.addWidget(self.ports)
     self.twovbhb13.addWidget(self.baudrates)
     self.twovbhb13.addWidget(self.baudrate)
     self.twovbhb12.addWidget(self.start)
     self.twovbhb12.addWidget(self.stop)
     self.twovbvb1.addLayout(self.twovbhb13)
     self.twovbvb1.addLayout(self.twovbhb12)
     self.twovbvb2.addLayout(self.twovbhb18)
     self.twovbvb2.addLayout(self.twovbhb19)
     self.groupbox2.setLayout(self.twovbvb1)
     self.groupbox5.setLayout(self.twovbvb2)
     self.portyap.addWidget(self.groupbox2)  
     self.portyap.addWidget(self.groupbox5)
     self.groupbox11.setLayout(self.portyap)
     self.splitter10.addWidget(self.groupbox11)
     self.splitter10.addWidget(self.groupbox1)
     self.twovbhb1.addWidget(self.groupbox4)
     self.twovbhb1.addWidget(self.groupbox10)
     self.twovbhb1.addWidget(self.motorkontrolu)
     self.twovbhb1.addWidget(self.groupbox3)
     self.twovbhb1.addWidget(self.groupbox8)
     self.twovbhb1.addWidget(self.groupbox)
     scene = QGraphicsScene(self)
     try:
         pixmap = QPixmap(*self.dimensions)
         self.pixmapItem = scene.addPixmap(pixmap)
     except AttributeError:
         print('devam')
     view = QGraphicsView(self)
     view.setScene(scene)
     if self.hata1==0:
         timer = QTimer(self)
         timer.setInterval(int(1000/fps))
         timer.timeout.connect(self.get_frame)
         timer.start()
     self.temp=[]
     self.pressure=list()
     self.voltage=list()
     self.altitude=list()
     self.inishiz=list()
     self.gpsaltitude=list()
     self.timer=list()
     self.tableWidget2=QTableWidget()
     self.tableWidget2.setEditTriggers(QTableWidget.NoEditTriggers)
     self.tableWidget2.setColumnCount(17)   
     self.tableWidget2.setHorizontalHeaderLabels(str("TAKIM NO;PAKET NUMARASI;GÖNDERME SAATİ;BASINÇ;YÜKSEKLİK;İNİŞ HIZI;SICAKLIK;PİL GERİLİMİ;GPS LATITUDE;GPS LONGITUDE;GPS ALTITUDE;UYDU STATÜSÜ;PITCH;ROLL;YAW;DÖNÜŞ SAYISI;VİDEO AKTARIM BİLGİSİ").split(";"))
     self.tableWidget2.verticalHeader().hide()
     self.tableWidget2.horizontalHeader().setStyleSheet("font: bold 7px;")
     self.tableWidget2.horizontalHeader().setDefaultAlignment(Qt.AlignLeft)
     self.tableWidget2.horizontalScrollBar().hide()
     self.tableWidget2.setStyleSheet("font:9px;")
     self.tableWidget2.setColumnWidth(0,59)
     self.tableWidget2.setColumnWidth(1,98)
     self.tableWidget2.setColumnWidth(2,97)
     self.tableWidget2.setColumnWidth(3,49)
     self.tableWidget2.setColumnWidth(4,61)
     self.tableWidget2.setColumnWidth(5,52)
     self.tableWidget2.setColumnWidth(6,52)
     self.tableWidget2.setColumnWidth(7,70)
     self.tableWidget2.setColumnWidth(8,80)
     self.tableWidget2.setColumnWidth(9,90)
     self.tableWidget2.setColumnWidth(10,77)
     self.tableWidget2.setColumnWidth(11,85)
     self.tableWidget2.setColumnWidth(12,38)
     self.tableWidget2.setColumnWidth(13,34)
     self.tableWidget2.setColumnWidth(14,33)
     self.tableWidget2.setColumnWidth(15,81)
     self.tableWidget2.setColumnWidth(16,134)
     self.tableWidget2.horizontalHeader().setStyleSheet("font: bold 9px;")
     self.tableWidget2.setFixedHeight(195)
     self.tableWidget=QTableWidget()
     self.tableWidget.setEditTriggers(QTableWidget.NoEditTriggers)
     self.tableWidget.setColumnCount(17)
     self.tableWidget.setHorizontalHeaderLabels(str("TAKIM NO;PAKET NUMARASI;GÖNDERME SAATİ;BASINÇ;YÜKSEKLİK;İNİŞ HIZI;SICAKLIK;PİL GERİLİMİ;GPS LATITUDE;GPS LONGITUDE;GPS ALTITUDE;UYDU STATÜSÜ;PITCH;ROLL;YAW;DÖNÜŞ SAYISI;VİDEO AKTARIM BİLGİSİ").split(";"))
     self.tableWidget.verticalHeader().hide()
     self.tableWidget.horizontalHeader().setDefaultAlignment(Qt.AlignLeft)
     self.tableWidget.horizontalScrollBar().hide()
     self.tableWidget.setStyleSheet("font:9px;")
     self.tableWidget.setColumnWidth(0,59)
     self.tableWidget.setColumnWidth(1,98)
     self.tableWidget.setColumnWidth(2,95)
     self.tableWidget.setColumnWidth(3,45)
     self.tableWidget.setColumnWidth(4,60)
     self.tableWidget.setColumnWidth(5,53)
     self.tableWidget.setColumnWidth(6,51)
     self.tableWidget.setColumnWidth(7,71)
     self.tableWidget.setColumnWidth(8,77)
     self.tableWidget.setColumnWidth(9,89)
     self.tableWidget.setColumnWidth(10,77)
     self.tableWidget.setColumnWidth(11,84)
     self.tableWidget.setColumnWidth(12,38)
     self.tableWidget.setColumnWidth(13,32)
     self.tableWidget.setColumnWidth(14,31)
     self.tableWidget.setColumnWidth(15,80)
     self.tableWidget.setColumnWidth(16,151)
     self.tableWidget.horizontalHeader().setStyleSheet("font: bold 9px;")
     self.splitter1 = QSplitter()
     self.splitter1.setOrientation(Qt.Vertical)
     self.splitter2 = QSplitter()
     self.splitter2.setOrientation(Qt.Horizontal)
     self.ayarlarbolum=QVBoxLayout()
     self.ayarlarbolum.addWidget(self.groupbox11)
     self.splitter3 = QSplitter()
     self.splitter3.setOrientation(Qt.Horizontal)
     self.splitter4 = QSplitter()
     self.splitter4.setOrientation(Qt.Horizontal)
     self.dates2=[]
     self.brush = pg.mkBrush(color=(128,128,128))
     self.axis = DateAxis(orientation='bottom')
     self.axis2 = DateAxis(orientation='bottom')
     self.axis3 = DateAxis(orientation='bottom')
     self.axis4 = DateAxis(orientation='bottom')
     self.axis5 = DateAxis(orientation='bottom')
     self.axis6 = DateAxis(orientation='bottom')
     self.pw = pg.PlotWidget(axisItems={'bottom': self.axis},  title="PlotItem")
     self.pw2 = pg.PlotWidget(axisItems={'bottom': self.axis2},  title="PlotItem")
     self.pw3 = pg.PlotWidget(axisItems={'bottom': self.axis3}, title="PlotItem")
     self.pw4 = pg.PlotWidget(axisItems={'bottom': self.axis4}, title="PlotItem")
     self.pw5 = pg.PlotWidget(axisItems={'bottom': self.axis5},  title="PlotItem")
     self.pw6 = pg.PlotWidget(axisItems={'bottom': self.axis6},  title="PlotItem")
     self.pen = pg.mkPen(color=(0, 0, 0))
     self.pw.setBackground('w')
     self.pw.setTitle('<span style=\"color:black;font-size:17px\">YÜKSEKLİK(m)</span>')
     self.pw.setLabel('left', '<span style=\"color:black;font-size:17px\">m</span>')
     self.pw.setLabel('bottom', '<span style=\"color:black;font-size:17px\">Gönderme Saati(h:min:s)</span>')
     self.data_line =  self.pw.plot(self.dates2, self.altitude,pen=self.pen,symbol='o', symbolSize=10, symbolBrush=(self.brush))
     self.pw2.setBackground('w')
     self.pw2.setTitle('<span style=\"color:black;font-size:17px\">SICAKLIK(°C)</span>')
     self.pw2.setLabel('left', '<span style=\"color:black;font-size:17px\">°C</span>')
     self.pw2.setLabel('bottom', '<span style=\"color:black;font-size:17px\">Gönderme Saati(h:min:s)</span>')
     self.data_line2 =  self.pw2.plot(self.dates2, self.temp,pen=self.pen,symbol='o', symbolSize=10, symbolBrush=(self.brush))
     self.pw3.setBackground('w')
     self.pw3.setTitle('<span style=\"color:black;font-size:17px\">BASINÇ(Pa)</span>')
     self.pw3.setLabel('left', '<span style=\"color:black;font-size:17px\">Pa</span>')
     self.pw3.setLabel('bottom', '<span style=\"color:black;font-size:17px\">Gönderme Saati(h:min:s)</span>')
     self.data_line3 =  self.pw3.plot(self.dates2, self.pressure,pen=self.pen,symbol='o', symbolSize=10, symbolBrush=(self.brush))
     self.pw4.setBackground('w')
     self.pw4.setTitle('<span style=\"color:black;font-size:17px\">PİL GERİLİMİ(V)</span>')
     self.pw4.setLabel('left', '<span style=\"color:black;font-size:17px\">V</span>')
     self.pw4.setLabel('bottom', '<span style=\"color:black;font-size:17px\">Gönderme Saati(h:min:s)</span>')
     self.data_line4 =  self.pw4.plot(self.dates2, self.voltage,pen=self.pen,symbol='o', symbolSize=10, symbolBrush=(self.brush))
     self.pw5.setBackground('w')
     self.pw5.setTitle('<span style=\"color:black;font-size:17px\">İNİŞ HIZI(m/s)</span>')
     self.pw5.setLabel('left', '<span style=\"color:black;font-size:17px\">m/s</span>')
     self.pw5.setLabel('bottom', '<span style=\"color:black;font-size:17px\">Gönderme Saati(h:min:s)</span>')
     self.data_line5 =  self.pw5.plot(self.dates2, self.gpsaltitude,pen=self.pen,symbol='o', symbolSize=10, symbolBrush=(self.brush))
     self.pw6.setBackground('w')
     self.pw6.setTitle('<span style=\"color:black;font-size:17px\">GPS ALTITUDE(m)</span>')
     self.pw6.setLabel('left','<span style=\"color:black;font-size:17px\">m</span>')
     self.pw6.setLabel('bottom', '<span style=\"color:black;font-size:17px\">Gönderme Saati(h:min:s)</span>')
     self.data_line6 =  self.pw6.plot(self.dates2, self.inishiz,pen=self.pen,symbol='o', symbolSize=10, symbolBrush=(self.brush))
     self.splitter3.addWidget(self.pw)
     self.splitter3.addWidget(self.pw2)
     self.splitter3.addWidget(self.pw3)
     self.splitter2.addWidget(self.pw4)
     self.splitter2.addWidget(self.pw5)
     self.splitter2.addWidget(self.pw6)
     self.splitter1.addWidget(self.splitter3)
     self.splitter1.addWidget(self.splitter2)
     self.splitter4.addWidget(self.tableWidget2)
     self.splitter1.addWidget(self.splitter4)
     self.kamera2=QLabel()
     self.splitter8.addWidget(self.kamera2)
     layout = QGridLayout()
     self.view5 = MapGraphicsView(tileSource=MapTileSourceHere()) #tileSource=MapTileSourceOSM("map.osm")
     self.view5.scene().setCenter(self.gpslongitude[0], self.gpslatitude[0])
     self.view5.setOptimizationFlag(QGraphicsView.DontSavePainterState, True)
     self.view5.setRenderHint(QPainter.Antialiasing, True)
     self.view5.setRenderHint(QPainter.SmoothPixmapTransform, True)
     self.tabwidget = QTabWidget()
     self.capture4 = cv2.VideoCapture()
     self.kamera3=QLabel()
     self.tabwidget.addTab(self.splitter1, "GRAFİKLER")
     self.tabwidget.addTab(self.tableWidget, "TELEMETRİ VERİLERİ")
     self.tabwidget.addTab(self.view5, "HARİTA")
     self.tabwidget.addTab(view, "KAMERA KAYDI")        
     self.tabwidget.setStyleSheet("font: bold 14px;")
     layout.addWidget(self.tabwidget, 0, 0) 
     self.tabwidget.blockSignals(False)
     self.twovbhb3.addWidget(self.packetcount)
     self.twovbhb3.addWidget(self.packetcount2)
     self.twovbhb3.addWidget(self.missiontime)
     self.twovbhb3.addWidget(self.missiontime2)
     self.twovb.addLayout(self.twovbhb1)
     self.twovb.addLayout(self.twovbhb3)
     self.twovb.addLayout(layout)     
     self.prog=QProgressBar(self)
     self.prog.setMaximum(100)
     self.prog.setUpdatesEnabled(True)
     self.prog.setValue(0)
     self.prog.setAlignment(Qt.AlignCenter)
     self.prog.setStyleSheet("QProgressBar{border: 2px solid grey; border-radius: 5px;}")
     self.prog.setStyleSheet("::chunk{background-color: #42C9EB; width: 10px; margin:1.2px; align:center}")
     self.prog.setFixedWidth(335)
     self.prog.setFixedHeight(42)
     self.prog.setFont(QFont("Comic Sans MS",13,QFont.Bold))
     self.listem=QListWidget()
     self.addg=QBrush(QColor(0,255,127))#(156, 239, 130)
     self.listem.setStyleSheet("font:bold 13px rgb(4, 199, 234)")
     self.listem.setFont(QFont("Comic Sans MS",10))
     self.listem.setFixedHeight(163)
     self.listem.setFixedWidth(335)
     self.listem.setSelectionMode(QListWidget.MultiSelection)
     self.listem.setAutoFillBackground(True)
     self.softws=QLabel("       UYDU STATÜSÜ")
     self.softws.setFont(QFont("Comic Sans MS",18,QFont.Bold))
     self.listemitem=["Görev Başladı","Uçuş Bekleniyor","Model Uydu Yükselmekte","Model Uydu İnişte","Görev Yükü Taşıyıcı'dan Ayrıldı","Görev Yükü Kurtarılmayı Bekliyor","Görev Tamamlandı"]
     self.listem.setFont(QFont("Comic Sans MS",14))
     self.z=0
     for i in self.listemitem:
         self.listem.addItem(i)
     self.softws.setFixedWidth(335)
     self.softws.setFixedHeight(60)
     self.softws.setStyleSheet("background-color: #e6e6e6; border:1px solid #000000")
     self.listem.setStyleSheet("background-color: #e6e6e6")
     filename = "gorevyuku.STL"
     self.frames =QFrame()
     self.vl =QVBoxLayout()
     self.reader = vtk.vtkSTLReader()
     self.reader.SetFileName(filename)
     self.coneMapper2 = vtk.vtkPolyDataMapper()
     self.vtkWidget = QVTKRenderWindowInteractor(self.frames)
     self.vl.addWidget(self.vtkWidget)
     self.iren =self.vtkWidget.GetRenderWindow().GetInteractor()
     self.ren = vtk.vtkRenderer()
     self.prev=0
     WIDTH=335
     HEIGHT=400       
     self.frames.setFixedWidth(335)
     self.frames.setFixedHeight(330)
     self.start.setDisabled(False)
     self.transform = vtk.vtkTransform()
     self.transform.RotateX(-90)
     self.transform.RotateY(0)
     self.transform.RotateZ(0)
     self.transformFilter=vtk.vtkTransformPolyDataFilter()
     self.transformFilter.SetTransform(self.transform)
     self.transformFilter.SetInputConnection(self.reader.GetOutputPort())
     self.transformFilter.Update()
     if vtk.VTK_MAJOR_VERSION <= 5:
         self.coneMapper2.SetInput(self.transformFilter.GetOutput())
     else:
         self.coneMapper2.SetInputConnection(self.transformFilter.GetOutputPort())
     self.actor2 = vtk.vtkActor()
     self.actor2.SetMapper(self.coneMapper2)
     self.frames.setLayout(self.vl)
     self.frames.setLineWidth(0.6)
     self.frames.setStyleSheet("border:1px solid #000000; background-color:#7FD5FF")
     self.actor2.GetProperty().SetColor(0.5,0.5,0.5)# (R,G,B)
     self.actor2.SetScale(1, 1, 1)
     self.vtkWidget.GetRenderWindow().AddRenderer(self.ren)
     self.ren.AddActor(self.actor2)
     self.ren.SetBackground(0.496,0.832,0.996)
     self.iren.Initialize()
     self.iren.Start()
     self.koordinat=QLabel("PITCH:           ROLL:           YAW:")
     self.mesafe=QLabel("MESAFE:")
     self.gpslo=QLabel("GPS LONGITUDE:")
     self.gpsal=QLabel("GPS LATITUDE:")
     self.koordinat.setFixedHeight(60)
     self.koordinat.setFixedWidth(335)
     self.koordinat.setStyleSheet("font:bold 15px; background-color: #e6e6e6; border:1px solid #000000")
     self.mesafe.setFixedHeight(60)
     self.mesafe.setFixedWidth(335)
     self.mesafe.setStyleSheet("font:bold 15px; background-color: #e6e6e6; border:1px solid #000000")
     self.gpslo.setFixedHeight(60)
     self.gpslo.setFixedWidth(335)
     self.gpslo.setStyleSheet("font:bold 15px; background-color: #e6e6e6; border:1px solid #000000")
     self.gpsal.setFixedHeight(60)
     self.gpsal.setFixedWidth(335)
     self.gpsal.setStyleSheet("font:bold 15px; background-color: #e6e6e6; border:1px solid #000000")
     self.stated=QLabel("Uydu Statüsü:")
     self.stated.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.koordinat.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.koordinat.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.mesafe.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.gpslo.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.gpsal.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.kaynak=QLabel("Görev Tamamlanma Yüzdesi:")
     self.kaynak.setFont(QFont("Comic Sans MS",9,QFont.Bold))
     self.kaynak.setFixedHeight(25)
     self.syc=0
     self.ilkveri=0
     self.onceki_gps_lon=0.000000
     self.onceki_gps_lat=0.000000
     self.threevb.addWidget(self.kaynak) 
     self.threevb.addWidget(self.prog)  
     self.threevb.addWidget(self.stated)
     self.threevb.addWidget(self.softws)
     self.threevb.addWidget(self.listem) 
     self.firstvb.addWidget(self.frames)
     self.firstvb.addWidget(self.koordinat)
     self.threevb.addWidget(self.view3)
     self.threevb.addWidget(self.gpsal)
     self.threevb.addWidget(self.gpslo)         
     self.threevb.addWidget(self.mesafe)
     self.genelhbox.addLayout(self.firstvb)
     self.genelhbox.addLayout(self.twovb)
     self.genelhbox.addLayout(self.threevb)
     self.setLayout(self.genelhbox)
     
     self.oran=0
     
     self.setWindowTitle("Grizu-263 Uzay Takımı| Yer İstasyonu")
     self.show()
Exemple #2
0
class Pencere(QWidget):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.kalibredurumu=0
        self.stopflag =False
        self.dosya_yol=''
        self.resize(1926, 1006)
        self.frame_gl=QFrame()    
        opengl=QOpenGLWidget(parent=self.frame_gl)
        self.setWindowIcon(QIcon("logo1.png"))
        self.setAutoFillBackground(True)      
        oImage=QImage("ekran8.png")
        sImage=oImage.scaled(QSize(1926, 1020))
        palette=QPalette()
        palette.setBrush(QPalette.Window, QBrush(sImage))                        
        self.setPalette(palette)
        self.bosluk=QLabel("    ")
        self.genelhbox=QHBoxLayout()
        self.firstvb=QVBoxLayout()
        self.logo=QLabel()
        self.motorkontrolu = QGroupBox("Manuel Tahrik Komutu")
        self.motorbasla=QPushButton("BAŞLA")
        self.motordur=QPushButton("DUR")
        self.motorbasla.setFixedHeight(27)
        self.motordur.setFixedHeight(27)
        self.motorbasla.clicked.connect(self.motorBasla)
        self.motordur.clicked.connect(self.motorDur)
        self.motor=QVBoxLayout()
        self.motor.addWidget(self.motorbasla)
        self.motor.addWidget(self.motordur)
        self.motorkontrolu.setLayout(self.motor)
        self.splitter8 = QSplitter()
        self.splitter8.setOrientation(Qt.Vertical)
        self.logo.setFixedHeight(150)
        self.logo.setFixedWidth(190)
        self.logo.setPixmap(QPixmap("logo4.PNG"))        
        self.logo.setAlignment(Qt.AlignTop)
        self.takimno=QLabel("Takım No:56701")
        self.takimno.setFont(QFont("Comic Sans MS",11,QFont.Bold))
        self.hata1=0
        self.portyap=QHBoxLayout()
        scene2 = QGraphicsScene(self)
        self.gpslongitude=[33.7115]
        self.gpslatitude=[38.3980]
        try:
            self.capture = cv2.VideoCapture(camera_index)
            self.dimensions = self.capture.read()[1].shape[1::-1]
            pixmap2 = QPixmap(*self.dimensions)
            self.pixmapItem2 = scene2.addPixmap(pixmap2) 
        except AttributeError:
            self.hata1=1
        self.view2 = QGraphicsView(self)
        self.view2.setScene(scene2)
        self.view2.setFixedHeight(430)
        self.view2.setFixedWidth(335)
        self.view3 = MapGraphicsView(tileSource=MapTileSourceHere()) #tileSource=MapTileSourceOSM("map.osm")
        self.view3.scene().setCenter(self.gpslongitude[0], self.gpslatitude[0])
        self.view3.setOptimizationFlag(QGraphicsView.DontSavePainterState, True)
        self.view3.setRenderHint(QPainter.Antialiasing, True)
        self.view3.setRenderHint(QPainter.SmoothPixmapTransform, True)
        self.z=0
        self.y=0
        self.frame=QFrame()
        self.resize(1926, 1006)
        self.view3.setFixedWidth(335)
        self.view3.setFixedHeight(407)
        self.twovb=QVBoxLayout()
        self.view3.setStyleSheet("border:1px solid #000000")
        self.threevb=QVBoxLayout()
        self.threevbh=QHBoxLayout()
        self.threevbh.addWidget(self.logo) 
        self.threevbh.addWidget(self.takimno)
        self.firstvb.addLayout(self.threevbh)
        self.firstvb.addWidget(self.view2)
        self.tableWidget3=QTableWidget()
        self.tableWidget3.setEditTriggers(QTableWidget.NoEditTriggers)
        self.tableWidget3.setColumnCount(17)
        self.tableWidget3.setHorizontalHeaderLabels(str("TAKIM NO;PAKET NUMARASI;GÖNDERME SAATİ;BASINÇ;YÜKSEKLİK;İNİŞ HIZI;SICAKLIK;PİL GERİLİMİ;GPS LATITUDE;GPS LONGITUDE;GPS ALTITUDE;UYDU STATÜSÜ;PITCH;ROLL;YAW;DÖNÜŞ SAYISI;VİDEO AKTARIM BİLGİSİ").split(";"))
        self.tableWidget3.verticalHeader().hide()
        self.tableWidget3.horizontalHeader().setDefaultAlignment(Qt.AlignLeft)
        self.tableWidget3.horizontalScrollBar().hide()
        self.tableWidget3.setStyleSheet("font:9px;")
        self.tableWidget3.setColumnWidth(0,59)
        self.tableWidget3.setColumnWidth(1,98)
        self.tableWidget3.setColumnWidth(2,95)
        self.tableWidget3.setColumnWidth(3,45)
        self.tableWidget3.setColumnWidth(4,60)
        self.tableWidget3.setColumnWidth(5,53)
        self.tableWidget3.setColumnWidth(6,51)
        self.tableWidget3.setColumnWidth(7,71)
        self.tableWidget3.setColumnWidth(8,77)
        self.tableWidget3.setColumnWidth(9,89)
        self.tableWidget3.setColumnWidth(10,77)
        self.tableWidget3.setColumnWidth(11,84)
        self.tableWidget3.setColumnWidth(12,38)
        self.tableWidget3.setColumnWidth(13,32)
        self.tableWidget3.setColumnWidth(14,31)
        self.tableWidget3.setColumnWidth(15,80)
        self.tableWidget3.setColumnWidth(16,151)
        self.splitter10 = QSplitter()
        self.splitter10.setOrientation(Qt.Vertical)
        self.twovbhb1=QHBoxLayout()
        self.twovbhb12=QHBoxLayout()
        self.twovbhb13=QHBoxLayout()
        self.twovbhb14=QHBoxLayout()
        self.twovbhb15=QHBoxLayout()
        self.twovbhb16=QHBoxLayout()
        self.twovbvb1=QVBoxLayout()
        self.twovbhb2=QHBoxLayout()
        self.twovbhb3=QHBoxLayout()
        self.twovbvb2=QVBoxLayout()
        self.uydu_statu=["Görev Başladı","Uçuş Bekleniyor","Model Uydu Yükselmekte","Model Uydu İnişte","Görev Yükü Taşıyıcıdan Ayrıldı","Görev Yükü Kurtarılmayı Bekliyor","Görev Tamamlandı"]
        self.port=QLabel("Port:")
        self.port2=QLabel("Port:")
        self.port.setFixedWidth(50)
        
        self.port.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.ports=QComboBox()
        self.ports.setFixedWidth(150)
        self.ports.addItems([''])
        self.ports.addItems(self.portlar())
        self.ports.setStyleSheet("font: bold 15px;")
        self.groupbox2 = QGroupBox("1. Seri Port Yapılandırması")     
        self.groupbox1 = QGroupBox("Ayrılma Yüksekliği Değiştirme") 
        self.groupbox5 = QGroupBox("2. Seri Port Yapılandırması")
        self.yukseklikQHB=QHBoxLayout()        
        self.yukseklikd=QLabel("Ayrılma Yüksekliğini Giriniz:")
        self.yukseklikd.setFixedWidth(240)
        self.yukseklik=QLineEdit()
        self.yukseklikgonder=QPushButton("GÖNDER")
        self.yukseklikgonder.clicked.connect(self.yukseklikGonder)
        self.yukseklikQHB.addWidget(self.yukseklikd)
        self.yukseklikQHB.addWidget(self.yukseklik)
        self.yukseklikQHB.addWidget(self.yukseklikgonder)
        self.groupbox1.setLayout(self.yukseklikQHB)
        self.start=QPushButton("BAŞLA")
        self.start.setFont(QFont("Comic Sans MS",9,))
        self.start.clicked.connect(self.Start)
        self.start.setInputMethodHints(Qt.ImhNone)
        
        self.baudrates=QLabel("Baudrate:")
        self.baudrates.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.baudrate=QComboBox()
        self.baudrate.setFixedWidth(100)
        self.baudrate.addItems(["","9600","19200","115200", "38400"])
        self.baudrate.setStyleSheet("font: bold 15px;")
        self.baudrates.setFixedWidth(80)
        
        self.port2.setFixedWidth(50)
        self.port2.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.ports2=QComboBox()
        self.ports2.setFixedWidth(150)
        self.ports2.addItems([''])
        self.ports2.addItems(self.portlar())
        self.ports2.setStyleSheet("font: bold 15px;")
        self.groupbox11 = QGroupBox("Seri Port Yapılandırması")        
        self.start2=QPushButton("BAŞLA")
        self.start2.setFont(QFont("Comic Sans MS",9,))
        self.start2.clicked.connect(self.Start2)
        self.baudrates2=QLabel("Baudrate:")
        self.baudrates2.setFont(QFont("Comic Sans MS",10,QFont.Bold))
        self.baudrate2=QComboBox()
        self.baudrate2.setFixedWidth(100)
        self.baudrate2.addItems(["","9600","19200","115200", "38400"])
        self.baudrate2.setStyleSheet("font: bold 15px;")
        self.baudrates2.setFixedWidth(80)
        
        self.gerial=QPushButton("GERİ AL")
        self.gerial.setFixedHeight(27)
        self.twovbhb15.addWidget(self.gerial)
        self.kalibrasyon=QPushButton("KALİBRE ET")
        self.kalibrasyon.setFixedHeight(27)
        self.kalibrasyon.setFixedWidth(85)
        self.kalibrasyon.clicked.connect(self.KalibrEt)
        self.ayarlar=QVBoxLayout()
        self.diger_ayarlar_ac=QPushButton("AÇ")
        self.diger_ayarlar_kapat=QPushButton("KAPAT")
        self.diger_ayarlar_ac.setFixedHeight(27)
        self.diger_ayarlar_kapat.setFixedHeight(27)
        self.ayarlar.addWidget(self.diger_ayarlar_ac)
        self.ayarlar.addWidget(self.diger_ayarlar_kapat)
        self.diger_ayarlar_ac.clicked.connect(self.ayarlarAc)
        self.diger_ayarlar_kapat.clicked.connect(self.ayarlarKapat)
        self.gerial.clicked.connect(self.geriAl)
        self.iletimdurumu=QLabel("Video İletim Durumu:")
        self.ayırma=QPushButton("AYIR")
        self.ayırma.clicked.connect(self.Ayir)
        self.kalibrasyon.setFont(QFont("Comic Sans MS",9))
        self.ayırma.setFixedWidth(85)
        self.ayırma.setFixedHeight(27)
        self.gerial.setFixedWidth(113)
        self.groupbox4 = QGroupBox("Ayrılma Komutu")
        self.groupbox10 = QGroupBox("Ayarlar")
        self.groupbox8 = QGroupBox("Kalibrasyon Komutu")
        self.groupbox3 = QGroupBox("Verileri Arayüze Geri Alma Komutu")
        self.groupbox10.setLayout(self.ayarlar)
        self.groupbox8.setLayout(self.twovbhb16)
        self.groupbox3.setLayout(self.twovbhb15)
        self.twovbhb14.addWidget(self.ayırma)
        self.twovbhb16.addWidget(self.kalibrasyon)
        self.groupbox4.setLayout(self.twovbhb14)
        self.ayırma.setFont(QFont("Comic Sans MS",9))
        self.gerial.setFont(QFont("Comic Sans MS",9))
        self.packetcount=QLabel("Paket Numarası:")
        self.packetcount2=QLabel()
        self.packetcount.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.packetcount2.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.packetcount.setFixedWidth(137)
        self.missiontime=QLabel("Gönderme Saati:")
        self.missiontime2=QLabel()
        self.missiontime2.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.missiontime.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.missiontime.setFixedWidth(157)
        self.start.setInputMethodHints(Qt.ImhNone)
        self.dosyasecs=QLabel("Dosya Seç:")
        self.dosyasecs.setFixedHeight(20)
        self.dosyasecs.setFixedWidth(90)
        self.dosyasecs.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.dosyasec=QPushButton("...")
        self.dosyasec.setFixedHeight(27)
        self.dosyasec.clicked.connect(self.Dosyasec)
        self.stop=QPushButton("DUR")
        self.stop.setInputMethodHints(Qt.ImhNone)
        self.stop.clicked.connect(self.Stop)
        self.stop.setFont(QFont("Comic Sans MS",9))
        
        self.stop2=QPushButton("DUR")
        self.stop2.setInputMethodHints(Qt.ImhNone)
        self.stop2.clicked.connect(self.Stop2)
        self.stop2.setFont(QFont("Comic Sans MS",9))
        
        self.dosyasec.setFixedHeight(20)
        self.dosyasec.setFixedWidth(20)
        self.gonder=QPushButton("GÖNDER")
        self.gonder.setFixedHeight(27)
        self.gonder.setDisabled(True)
        self.gonder.setFixedWidth(110)
        self.gonder.setFont(QFont("Comic Sans MS",9,))
        self.groupbox = QGroupBox("Video Aktarımı")
        self.iletimdurumu.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.gbvx=QVBoxLayout()
        self.gbx=QHBoxLayout()
        self.gbx.addWidget(self.dosyasecs)
        self.gbx.addWidget(self.dosyasec)
        self.gbx.addWidget(self.gonder)
        self.gbvx.addLayout(self.gbx)
        self.gbvx.addWidget(self.iletimdurumu)
        self.groupbox.setLayout(self.gbvx) 
        self.gonder.clicked.connect(self.Gonder)
        self.twovbhb18=QHBoxLayout()
        self.twovbhb18.addWidget(self.port2)
        self.twovbhb18.addWidget(self.ports2)
        self.twovbhb18.addWidget(self.baudrates2)
        self.twovbhb18.addWidget(self.baudrate2)
        
        self.twovbhb19=QHBoxLayout()
        self.twovbhb19.addWidget(self.start2)
        self.twovbhb19.addWidget(self.stop2)
        
        self.twovbhb13.addWidget(self.port)
        self.twovbhb13.addWidget(self.ports)
        self.twovbhb13.addWidget(self.baudrates)
        self.twovbhb13.addWidget(self.baudrate)
        self.twovbhb12.addWidget(self.start)
        self.twovbhb12.addWidget(self.stop)
        self.twovbvb1.addLayout(self.twovbhb13)
        self.twovbvb1.addLayout(self.twovbhb12)
        self.twovbvb2.addLayout(self.twovbhb18)
        self.twovbvb2.addLayout(self.twovbhb19)
        self.groupbox2.setLayout(self.twovbvb1)
        self.groupbox5.setLayout(self.twovbvb2)
        self.portyap.addWidget(self.groupbox2)  
        self.portyap.addWidget(self.groupbox5)
        self.groupbox11.setLayout(self.portyap)
        self.splitter10.addWidget(self.groupbox11)
        self.splitter10.addWidget(self.groupbox1)
        self.twovbhb1.addWidget(self.groupbox4)
        self.twovbhb1.addWidget(self.groupbox10)
        self.twovbhb1.addWidget(self.motorkontrolu)
        self.twovbhb1.addWidget(self.groupbox3)
        self.twovbhb1.addWidget(self.groupbox8)
        self.twovbhb1.addWidget(self.groupbox)
        scene = QGraphicsScene(self)
        try:
            pixmap = QPixmap(*self.dimensions)
            self.pixmapItem = scene.addPixmap(pixmap)
        except AttributeError:
            print('devam')
        view = QGraphicsView(self)
        view.setScene(scene)
        if self.hata1==0:
            timer = QTimer(self)
            timer.setInterval(int(1000/fps))
            timer.timeout.connect(self.get_frame)
            timer.start()
        self.temp=[]
        self.pressure=list()
        self.voltage=list()
        self.altitude=list()
        self.inishiz=list()
        self.gpsaltitude=list()
        self.timer=list()
        self.tableWidget2=QTableWidget()
        self.tableWidget2.setEditTriggers(QTableWidget.NoEditTriggers)
        self.tableWidget2.setColumnCount(17)   
        self.tableWidget2.setHorizontalHeaderLabels(str("TAKIM NO;PAKET NUMARASI;GÖNDERME SAATİ;BASINÇ;YÜKSEKLİK;İNİŞ HIZI;SICAKLIK;PİL GERİLİMİ;GPS LATITUDE;GPS LONGITUDE;GPS ALTITUDE;UYDU STATÜSÜ;PITCH;ROLL;YAW;DÖNÜŞ SAYISI;VİDEO AKTARIM BİLGİSİ").split(";"))
        self.tableWidget2.verticalHeader().hide()
        self.tableWidget2.horizontalHeader().setStyleSheet("font: bold 7px;")
        self.tableWidget2.horizontalHeader().setDefaultAlignment(Qt.AlignLeft)
        self.tableWidget2.horizontalScrollBar().hide()
        self.tableWidget2.setStyleSheet("font:9px;")
        self.tableWidget2.setColumnWidth(0,59)
        self.tableWidget2.setColumnWidth(1,98)
        self.tableWidget2.setColumnWidth(2,97)
        self.tableWidget2.setColumnWidth(3,49)
        self.tableWidget2.setColumnWidth(4,61)
        self.tableWidget2.setColumnWidth(5,52)
        self.tableWidget2.setColumnWidth(6,52)
        self.tableWidget2.setColumnWidth(7,70)
        self.tableWidget2.setColumnWidth(8,80)
        self.tableWidget2.setColumnWidth(9,90)
        self.tableWidget2.setColumnWidth(10,77)
        self.tableWidget2.setColumnWidth(11,85)
        self.tableWidget2.setColumnWidth(12,38)
        self.tableWidget2.setColumnWidth(13,34)
        self.tableWidget2.setColumnWidth(14,33)
        self.tableWidget2.setColumnWidth(15,81)
        self.tableWidget2.setColumnWidth(16,134)
        self.tableWidget2.horizontalHeader().setStyleSheet("font: bold 9px;")
        self.tableWidget2.setFixedHeight(195)
        self.tableWidget=QTableWidget()
        self.tableWidget.setEditTriggers(QTableWidget.NoEditTriggers)
        self.tableWidget.setColumnCount(17)
        self.tableWidget.setHorizontalHeaderLabels(str("TAKIM NO;PAKET NUMARASI;GÖNDERME SAATİ;BASINÇ;YÜKSEKLİK;İNİŞ HIZI;SICAKLIK;PİL GERİLİMİ;GPS LATITUDE;GPS LONGITUDE;GPS ALTITUDE;UYDU STATÜSÜ;PITCH;ROLL;YAW;DÖNÜŞ SAYISI;VİDEO AKTARIM BİLGİSİ").split(";"))
        self.tableWidget.verticalHeader().hide()
        self.tableWidget.horizontalHeader().setDefaultAlignment(Qt.AlignLeft)
        self.tableWidget.horizontalScrollBar().hide()
        self.tableWidget.setStyleSheet("font:9px;")
        self.tableWidget.setColumnWidth(0,59)
        self.tableWidget.setColumnWidth(1,98)
        self.tableWidget.setColumnWidth(2,95)
        self.tableWidget.setColumnWidth(3,45)
        self.tableWidget.setColumnWidth(4,60)
        self.tableWidget.setColumnWidth(5,53)
        self.tableWidget.setColumnWidth(6,51)
        self.tableWidget.setColumnWidth(7,71)
        self.tableWidget.setColumnWidth(8,77)
        self.tableWidget.setColumnWidth(9,89)
        self.tableWidget.setColumnWidth(10,77)
        self.tableWidget.setColumnWidth(11,84)
        self.tableWidget.setColumnWidth(12,38)
        self.tableWidget.setColumnWidth(13,32)
        self.tableWidget.setColumnWidth(14,31)
        self.tableWidget.setColumnWidth(15,80)
        self.tableWidget.setColumnWidth(16,151)
        self.tableWidget.horizontalHeader().setStyleSheet("font: bold 9px;")
        self.splitter1 = QSplitter()
        self.splitter1.setOrientation(Qt.Vertical)
        self.splitter2 = QSplitter()
        self.splitter2.setOrientation(Qt.Horizontal)
        self.ayarlarbolum=QVBoxLayout()
        self.ayarlarbolum.addWidget(self.groupbox11)
        self.splitter3 = QSplitter()
        self.splitter3.setOrientation(Qt.Horizontal)
        self.splitter4 = QSplitter()
        self.splitter4.setOrientation(Qt.Horizontal)
        self.dates2=[]
        self.brush = pg.mkBrush(color=(128,128,128))
        self.axis = DateAxis(orientation='bottom')
        self.axis2 = DateAxis(orientation='bottom')
        self.axis3 = DateAxis(orientation='bottom')
        self.axis4 = DateAxis(orientation='bottom')
        self.axis5 = DateAxis(orientation='bottom')
        self.axis6 = DateAxis(orientation='bottom')
        self.pw = pg.PlotWidget(axisItems={'bottom': self.axis},  title="PlotItem")
        self.pw2 = pg.PlotWidget(axisItems={'bottom': self.axis2},  title="PlotItem")
        self.pw3 = pg.PlotWidget(axisItems={'bottom': self.axis3}, title="PlotItem")
        self.pw4 = pg.PlotWidget(axisItems={'bottom': self.axis4}, title="PlotItem")
        self.pw5 = pg.PlotWidget(axisItems={'bottom': self.axis5},  title="PlotItem")
        self.pw6 = pg.PlotWidget(axisItems={'bottom': self.axis6},  title="PlotItem")
        self.pen = pg.mkPen(color=(0, 0, 0))
        self.pw.setBackground('w')
        self.pw.setTitle('<span style=\"color:black;font-size:17px\">YÜKSEKLİK(m)</span>')
        self.pw.setLabel('left', '<span style=\"color:black;font-size:17px\">m</span>')
        self.pw.setLabel('bottom', '<span style=\"color:black;font-size:17px\">Gönderme Saati(h:min:s)</span>')
        self.data_line =  self.pw.plot(self.dates2, self.altitude,pen=self.pen,symbol='o', symbolSize=10, symbolBrush=(self.brush))
        self.pw2.setBackground('w')
        self.pw2.setTitle('<span style=\"color:black;font-size:17px\">SICAKLIK(°C)</span>')
        self.pw2.setLabel('left', '<span style=\"color:black;font-size:17px\">°C</span>')
        self.pw2.setLabel('bottom', '<span style=\"color:black;font-size:17px\">Gönderme Saati(h:min:s)</span>')
        self.data_line2 =  self.pw2.plot(self.dates2, self.temp,pen=self.pen,symbol='o', symbolSize=10, symbolBrush=(self.brush))
        self.pw3.setBackground('w')
        self.pw3.setTitle('<span style=\"color:black;font-size:17px\">BASINÇ(Pa)</span>')
        self.pw3.setLabel('left', '<span style=\"color:black;font-size:17px\">Pa</span>')
        self.pw3.setLabel('bottom', '<span style=\"color:black;font-size:17px\">Gönderme Saati(h:min:s)</span>')
        self.data_line3 =  self.pw3.plot(self.dates2, self.pressure,pen=self.pen,symbol='o', symbolSize=10, symbolBrush=(self.brush))
        self.pw4.setBackground('w')
        self.pw4.setTitle('<span style=\"color:black;font-size:17px\">PİL GERİLİMİ(V)</span>')
        self.pw4.setLabel('left', '<span style=\"color:black;font-size:17px\">V</span>')
        self.pw4.setLabel('bottom', '<span style=\"color:black;font-size:17px\">Gönderme Saati(h:min:s)</span>')
        self.data_line4 =  self.pw4.plot(self.dates2, self.voltage,pen=self.pen,symbol='o', symbolSize=10, symbolBrush=(self.brush))
        self.pw5.setBackground('w')
        self.pw5.setTitle('<span style=\"color:black;font-size:17px\">İNİŞ HIZI(m/s)</span>')
        self.pw5.setLabel('left', '<span style=\"color:black;font-size:17px\">m/s</span>')
        self.pw5.setLabel('bottom', '<span style=\"color:black;font-size:17px\">Gönderme Saati(h:min:s)</span>')
        self.data_line5 =  self.pw5.plot(self.dates2, self.gpsaltitude,pen=self.pen,symbol='o', symbolSize=10, symbolBrush=(self.brush))
        self.pw6.setBackground('w')
        self.pw6.setTitle('<span style=\"color:black;font-size:17px\">GPS ALTITUDE(m)</span>')
        self.pw6.setLabel('left','<span style=\"color:black;font-size:17px\">m</span>')
        self.pw6.setLabel('bottom', '<span style=\"color:black;font-size:17px\">Gönderme Saati(h:min:s)</span>')
        self.data_line6 =  self.pw6.plot(self.dates2, self.inishiz,pen=self.pen,symbol='o', symbolSize=10, symbolBrush=(self.brush))
        self.splitter3.addWidget(self.pw)
        self.splitter3.addWidget(self.pw2)
        self.splitter3.addWidget(self.pw3)
        self.splitter2.addWidget(self.pw4)
        self.splitter2.addWidget(self.pw5)
        self.splitter2.addWidget(self.pw6)
        self.splitter1.addWidget(self.splitter3)
        self.splitter1.addWidget(self.splitter2)
        self.splitter4.addWidget(self.tableWidget2)
        self.splitter1.addWidget(self.splitter4)
        self.kamera2=QLabel()
        self.splitter8.addWidget(self.kamera2)
        layout = QGridLayout()
        self.view5 = MapGraphicsView(tileSource=MapTileSourceHere()) #tileSource=MapTileSourceOSM("map.osm")
        self.view5.scene().setCenter(self.gpslongitude[0], self.gpslatitude[0])
        self.view5.setOptimizationFlag(QGraphicsView.DontSavePainterState, True)
        self.view5.setRenderHint(QPainter.Antialiasing, True)
        self.view5.setRenderHint(QPainter.SmoothPixmapTransform, True)
        self.tabwidget = QTabWidget()
        self.capture4 = cv2.VideoCapture()
        self.kamera3=QLabel()
        self.tabwidget.addTab(self.splitter1, "GRAFİKLER")
        self.tabwidget.addTab(self.tableWidget, "TELEMETRİ VERİLERİ")
        self.tabwidget.addTab(self.view5, "HARİTA")
        self.tabwidget.addTab(view, "KAMERA KAYDI")        
        self.tabwidget.setStyleSheet("font: bold 14px;")
        layout.addWidget(self.tabwidget, 0, 0) 
        self.tabwidget.blockSignals(False)
        self.twovbhb3.addWidget(self.packetcount)
        self.twovbhb3.addWidget(self.packetcount2)
        self.twovbhb3.addWidget(self.missiontime)
        self.twovbhb3.addWidget(self.missiontime2)
        self.twovb.addLayout(self.twovbhb1)
        self.twovb.addLayout(self.twovbhb3)
        self.twovb.addLayout(layout)     
        self.prog=QProgressBar(self)
        self.prog.setMaximum(100)
        self.prog.setUpdatesEnabled(True)
        self.prog.setValue(0)
        self.prog.setAlignment(Qt.AlignCenter)
        self.prog.setStyleSheet("QProgressBar{border: 2px solid grey; border-radius: 5px;}")
        self.prog.setStyleSheet("::chunk{background-color: #42C9EB; width: 10px; margin:1.2px; align:center}")
        self.prog.setFixedWidth(335)
        self.prog.setFixedHeight(42)
        self.prog.setFont(QFont("Comic Sans MS",13,QFont.Bold))
        self.listem=QListWidget()
        self.addg=QBrush(QColor(0,255,127))#(156, 239, 130)
        self.listem.setStyleSheet("font:bold 13px rgb(4, 199, 234)")
        self.listem.setFont(QFont("Comic Sans MS",10))
        self.listem.setFixedHeight(163)
        self.listem.setFixedWidth(335)
        self.listem.setSelectionMode(QListWidget.MultiSelection)
        self.listem.setAutoFillBackground(True)
        self.softws=QLabel("       UYDU STATÜSÜ")
        self.softws.setFont(QFont("Comic Sans MS",18,QFont.Bold))
        self.listemitem=["Görev Başladı","Uçuş Bekleniyor","Model Uydu Yükselmekte","Model Uydu İnişte","Görev Yükü Taşıyıcı'dan Ayrıldı","Görev Yükü Kurtarılmayı Bekliyor","Görev Tamamlandı"]
        self.listem.setFont(QFont("Comic Sans MS",14))
        self.z=0
        for i in self.listemitem:
            self.listem.addItem(i)
        self.softws.setFixedWidth(335)
        self.softws.setFixedHeight(60)
        self.softws.setStyleSheet("background-color: #e6e6e6; border:1px solid #000000")
        self.listem.setStyleSheet("background-color: #e6e6e6")
        filename = "gorevyuku.STL"
        self.frames =QFrame()
        self.vl =QVBoxLayout()
        self.reader = vtk.vtkSTLReader()
        self.reader.SetFileName(filename)
        self.coneMapper2 = vtk.vtkPolyDataMapper()
        self.vtkWidget = QVTKRenderWindowInteractor(self.frames)
        self.vl.addWidget(self.vtkWidget)
        self.iren =self.vtkWidget.GetRenderWindow().GetInteractor()
        self.ren = vtk.vtkRenderer()
        self.prev=0
        WIDTH=335
        HEIGHT=400       
        self.frames.setFixedWidth(335)
        self.frames.setFixedHeight(330)
        self.start.setDisabled(False)
        self.transform = vtk.vtkTransform()
        self.transform.RotateX(-90)
        self.transform.RotateY(0)
        self.transform.RotateZ(0)
        self.transformFilter=vtk.vtkTransformPolyDataFilter()
        self.transformFilter.SetTransform(self.transform)
        self.transformFilter.SetInputConnection(self.reader.GetOutputPort())
        self.transformFilter.Update()
        if vtk.VTK_MAJOR_VERSION <= 5:
            self.coneMapper2.SetInput(self.transformFilter.GetOutput())
        else:
            self.coneMapper2.SetInputConnection(self.transformFilter.GetOutputPort())
        self.actor2 = vtk.vtkActor()
        self.actor2.SetMapper(self.coneMapper2)
        self.frames.setLayout(self.vl)
        self.frames.setLineWidth(0.6)
        self.frames.setStyleSheet("border:1px solid #000000; background-color:#7FD5FF")
        self.actor2.GetProperty().SetColor(0.5,0.5,0.5)# (R,G,B)
        self.actor2.SetScale(1, 1, 1)
        self.vtkWidget.GetRenderWindow().AddRenderer(self.ren)
        self.ren.AddActor(self.actor2)
        self.ren.SetBackground(0.496,0.832,0.996)
        self.iren.Initialize()
        self.iren.Start()
        self.koordinat=QLabel("PITCH:           ROLL:           YAW:")
        self.mesafe=QLabel("MESAFE:")
        self.gpslo=QLabel("GPS LONGITUDE:")
        self.gpsal=QLabel("GPS LATITUDE:")
        self.koordinat.setFixedHeight(60)
        self.koordinat.setFixedWidth(335)
        self.koordinat.setStyleSheet("font:bold 15px; background-color: #e6e6e6; border:1px solid #000000")
        self.mesafe.setFixedHeight(60)
        self.mesafe.setFixedWidth(335)
        self.mesafe.setStyleSheet("font:bold 15px; background-color: #e6e6e6; border:1px solid #000000")
        self.gpslo.setFixedHeight(60)
        self.gpslo.setFixedWidth(335)
        self.gpslo.setStyleSheet("font:bold 15px; background-color: #e6e6e6; border:1px solid #000000")
        self.gpsal.setFixedHeight(60)
        self.gpsal.setFixedWidth(335)
        self.gpsal.setStyleSheet("font:bold 15px; background-color: #e6e6e6; border:1px solid #000000")
        self.stated=QLabel("Uydu Statüsü:")
        self.stated.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.koordinat.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.koordinat.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.mesafe.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.gpslo.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.gpsal.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.kaynak=QLabel("Görev Tamamlanma Yüzdesi:")
        self.kaynak.setFont(QFont("Comic Sans MS",9,QFont.Bold))
        self.kaynak.setFixedHeight(25)
        self.syc=0
        self.ilkveri=0
        self.onceki_gps_lon=0.000000
        self.onceki_gps_lat=0.000000
        self.threevb.addWidget(self.kaynak) 
        self.threevb.addWidget(self.prog)  
        self.threevb.addWidget(self.stated)
        self.threevb.addWidget(self.softws)
        self.threevb.addWidget(self.listem) 
        self.firstvb.addWidget(self.frames)
        self.firstvb.addWidget(self.koordinat)
        self.threevb.addWidget(self.view3)
        self.threevb.addWidget(self.gpsal)
        self.threevb.addWidget(self.gpslo)         
        self.threevb.addWidget(self.mesafe)
        self.genelhbox.addLayout(self.firstvb)
        self.genelhbox.addLayout(self.twovb)
        self.genelhbox.addLayout(self.threevb)
        self.setLayout(self.genelhbox)
        
        self.oran=0
        
        self.setWindowTitle("Grizu-263 Uzay Takımı| Yer İstasyonu")
        self.show()
    def yukseklikGonder(self):
        ser.write(self.yukseklik.text())
    def mesafe_hesapla(self,lat1,long1,lat2,long2):
        radius=6371*1000
        dlat=(lat2-lat1)*math.pi/180
        dlong=(long2-long1)*math.pi/180
        lat1=lat1*math.pi/180
        lat2=lat2*math.pi/180
        a=math.sin(dlat/2)*math.sin(dlat/2)+math.cos(math.radians(lat1))*math.cos(math.radians(lat2))*math.sin(dlong/2)*math.sin(dlong/2)
        c=2*math.atan2(math.sqrt(a), math.sqrt(1-a))
        distance=radius*c
        return distance
    def KalibrEt(self):
        ser.write(b'1')
        self.kalibredurumu=1
        self.prev=0
        for i in range(0,6):
            self.listem.item(i).setBackground(Qt.transparent)
        self.listem.item(0).setBackground(self.addg)
        self.listem.setCurrentRow(0)
        
    def Ayir(self):
        ser.write(b'2')
    def motorBasla(self):
        ser.write(b'3')
    def motorDur(self):
        ser.write(b'4')
    def Start(self):
        self.onceki1=0
        self.onceki2=0
        self.onceki3=0        
        if str(self.ports.currentText())== str('') and str(self.baudrate.currentText())== str(''):
            print("Port Seçmediniz veya Baudrate Seçmediniz!!") 
        else:
            self.start.setDisabled(True)
            h=['Takım Numarası', 'Paket Numarası', 'Gönderim Saati', 'Basınç', 'Yükseklik', 'İniş Hızı', 'Sıcaklık', 'Pil Gerilimi', 'GPS Latitude', 'GPS Longitude', 'GPS Altitude', 'Uydu Statüsü', 'Pitch', 'Roll', 'Yaw', 'Dönüş Sayısı', 'Video Aktarım Bilgisi']
            with open('telemetri_verileri.csv', 'w', newline='') as f:
                thewriter=csv.writer(f)
                thewriter.writerow(h)
            ser.port=str(self.ports.currentText())
            ser.baudrate=int(self.baudrate.currentText())
            ser.timeout=0.5
            ser.open()
            self.runnable = Runnable(self)
            QtCore.QThreadPool.globalInstance().start(self.runnable)
            self.listem.setCurrentRow(self.z)   
            self.listem.item(self.z).setBackground(self.addg)
            self.stated.setText("Uydu Statüsü:"+str("Görev Başladı"))
            QtCore.QMetaObject.invokeMethod(self.prog, "setValue", QtCore.Qt.QueuedConnection,QtCore.Q_ARG(int, 1))
    def Start2(self):   
        self.mySerial=serialThreadClass()
        self.mySerial.start()
        if str(self.ports2.currentText())== str('') and str(self.baudrate2.currentText())== str(''):
            print("Port Seçmediniz veya Baudrate Seçmediniz!!") 
        else:
            
            self.start2.setDisabled(True)
            
            print('girdim')
            
            
    def cizdir(self):
        if len(self.gpslongitude)==2:
            pointItem = self.view3.scene().addCircle(self.gpslongitude[1], self.gpslatitude[1], 5.0)
            pointItem.setBrush(Qt.green)
            pointItem.setPen(QPen(Qt.NoPen))
            pointItem.setToolTip('%f, %f' % (self.gpslongitude[1],self.gpslatitude[1]))
            pointItem.setFlag(QGraphicsItem.ItemIsSelectable, True)
            pointItem2 = self.view5.scene().addCircle(self.gpslongitude[1], self.gpslatitude[1], 5.0)
            pointItem2.setBrush(Qt.green)
            pointItem2.setPen(QPen(Qt.NoPen))
            pointItem2.setToolTip('%f, %f' % (self.gpslongitude[1],self.gpslatitude[1]))
            pointItem2.setFlag(QGraphicsItem.ItemIsSelectable, True)
        else:
            pointItem = self.view3.scene().addCircle(self.gpslong, self.gpslat, 5.0)
            pointItem.setBrush(Qt.blue)
            pointItem.setPen(QPen(Qt.NoPen))
            pointItem.setToolTip('%f, %f' % (self.gpslong,self.gpslat))
            pointItem.setFlag(QGraphicsItem.ItemIsSelectable, True)
            pointItem2 = self.view5.scene().addCircle(self.gpslong, self.gpslat, 5.0)
            pointItem2.setBrush(Qt.blue)
            pointItem2.setToolTip('%f, %f' % (self.gpslong,self.gpslat))
            pointItem2.setFlag(QGraphicsItem.ItemIsSelectable, True)          
        self.view3.scene().update()
        self.view3.setOptimizationFlag(QGraphicsView.DontSavePainterState, True)
        self.view3.setRenderHint(QPainter.Antialiasing, True)
        self.view3.setRenderHint(QPainter.SmoothPixmapTransform, True)
        self.view5.scene().update()
        self.view5.setOptimizationFlag(QGraphicsView.DontSavePainterState, True)
        self.view5.setRenderHint(QPainter.Antialiasing, True)
        self.view5.setRenderHint(QPainter.SmoothPixmapTransform, True)
        self.view3.scene().setItemIndexMethod(QGraphicsScene.NoIndex)
        self.view3.setTransformationAnchor(QGraphicsView.AnchorUnderMouse)
        self.view3.setResizeAnchor(QGraphicsView.AnchorViewCenter)
        self.view5.scene().setItemIndexMethod(QGraphicsScene.NoIndex)
        self.view5.setTransformationAnchor(QGraphicsView.AnchorUnderMouse)
        self.view5.setResizeAnchor(QGraphicsView.AnchorViewCenter)
    def get_frame(self):
        _, frame = self.capture.read()
        out.write(frame)
        image = QImage(frame, *self.dimensions, QImage.Format_RGB888).rgbSwapped()
        image2 = QImage(frame, *self.dimensions, QImage.Format_RGB888).rgbSwapped()
        pixmap = QPixmap.fromImage(image)
        pixmap2 = QPixmap.fromImage(image2)
        self.pixmapItem.setPixmap(pixmap) 
        self.pixmapItem2.setPixmap(pixmap2)   
    def Gonder(self):
        print('dosya buradaaa: '+self.dosya_yol)
        os.system(f'ffmpeg -i %s -c:v libx264 -preset ultrafast -crf 50 -c:a copy video5.mp4' % self.dosya_yol)
        cap = cv2.VideoCapture('video5.mp4')
        while(cap.isOpened()):
            ret, rame=cap.read()
            if not ret:
                print('Görüntü Alınamadı')
                gonderilecek_foto_say=int(self.syc/10)
                for i in range(0, 10):
                    son=i*gonderilecek_foto_say
                    image=open("outimage%s.jpg" % son, 'rb')
                    image_read= image.read()
                    image_64_encode= base64.encodestring(image_read)
                    with open("asdfg%s.txt" % i, "w") as imageFile:
                        strx=imageFile.write(image_64_encode.decode('utf-8'))
                break
            im=Image.fromarray(rame)
            im.save("outimage%s.jpg" % self.syc)
            self.syc+=1
        myfile = open('portyap.txt','w')
        myfile.writelines(str(self.baudrate2.currentText())+","+str(self.ports2.currentText())+","+str(self.syc)+"\n")
        myfile.writelines(str(self.baudrate.currentText())+","+str(self.ports.currentText()))
        myfile.close()
        cmd="python untitled10.py"
        proc = QProcess()
        proc.start(cmd)
        proc.startDetached(cmd)
    def ayarlarAc(self):
        self.tabwidget.addTab(self.splitter10, "AYARLAR")
    def ayarlarKapat(self):
        self.tabwidget.addTab(self.view8, "GERİ ALINAN KAMERA KAYDI")
    def geriAl(self):
        self.dimensions4 = self.capture4.read()[1].shape[1::-1]
        scene3 = QGraphicsScene(self)
        pixmap4 = QPixmap(*self.dimensions4)
        self.pixmapItem7 = scene3.addPixmap(pixmap4)
        self.view8 = QGraphicsView(self)
        timer4 = QTimer(self)
        timer4.setInterval(int(1000/fps))
        timer4.timeout.connect(self.get_frame2)
        timer4.start()
        self.tabwidget.addTab(self.view8, "GERİ ALINAN KAMERA KAYDI")
        self.view8.setScene(scene3)
        self.tabwidget.addTab(self.tableWidget3, "GERİ ALINAN TELEMETRİ VERİLERİ")
        self.tableWidget3.horizontalHeader().setStyleSheet("font: bold 9px;")
        with open('telemetri_verileri.csv', "r") as fileInput:
            for row in csv.reader(fileInput):    
                self.tableWidget3.insertRow(self.tableWidget3.rowCount())
                for i in range(17):
                    self.tableWidget3.setItem(self.tableWidget3.rowCount()-1,i,QTableWidgetItem(str(row[i])))
    def Stop(self):
        out.release()
        self.capture.release()
        self.stop.setDisabled(True)
        self.stopflag = True
        self.capture4 = cv2.VideoCapture('kamera_kaydi.avi')
        self.listem.setCurrentRow(6)
        self.listem.item(6).setBackground(self.addg)
        self.stated.setText("Uydu Statüsü:"+str("Görev Tamamlandı"))
        QtCore.QMetaObject.invokeMethod(self.prog, "setValue",QtCore.Qt.QueuedConnection,QtCore.Q_ARG(int, 100))
    def Stop2(self):
        self.stop2.setDisabled(True)
        self.stopflag2 = True

    def get_frame2(self):
        _, frame = self.capture4.read()
        image = QImage(frame, *self.dimensions4, QImage.Format_RGB888).rgbSwapped()
        pixmap4 = QPixmap.fromImage(image)
        self.pixmapItem7.setPixmap(pixmap4)
        if self.capture4.isOpened()==False:
            self.capture4.release()
            timer4.stop()
            timer4.release()
    def portlar(self):
        if sys.platform.startswith('win'):
            ports = ['COM%s' % (i + 1) for i in range(256)]
        elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'):
            ports = glob.glob('/dev/tty[A-Za-z]*')
        elif sys.platform.startswith('darwin'):
            ports = glob.glob('/dev/tty.*')
        else:
            raise EnvironmentError('Unsupported platform')
        result = []
        for port in ports:
            try:
                s = serial.Serial(port)
                s.close()
                result.append(port)
            except (OSError, serial.SerialException):
                pass
        return result
    def Dosyasec(self):
        root=Tk()
        root.withdraw() 
        root.filename = askopenfilename()
        print(root.filename)
        if root.filename:
            self.iletimdurumu.setText('Video İletim Durumu:Dosya Seçildi')
            self.gonder.setDisabled(False)
            st = os.stat(root.filename)
            #dosya_yol=st.st_size
            self.dosya_yol=str(root.filename)
            
        else:
            self.iletimdurumu.setText('Video İletim Durumu:Dosya Seçilmedi')
Exemple #3
0
    def __init__(self):
        QMainWindow.__init__(self)

        view = MapGraphicsView(tileSource=MapTileSourceHere())

        self.setCentralWidget(view)
        view.scene().setCenter(31.789339, 41.450508)
        view.setOptimizationFlag(QGraphicsView.DontSavePainterState, True)
        view.setRenderHint(QPainter.Antialiasing, True)
        view.setRenderHint(QPainter.SmoothPixmapTransform, True)
        pointItem = view.scene().addCircle(31.789339, 44.860767, 3.0)
        pointItem.setBrush(Qt.black)
        pointItem.setToolTip('31.789339, 41.450508')
        pointItem.setFlag(QGraphicsItem.ItemIsSelectable, True)
        pointItem = view.scene().addCircle(31.789339, 44.860767, 5.0)
        pointItem.setBrush(Qt.green)
        pointItem.setPen(QPen(Qt.NoPen))
        pointItem.setToolTip('%f, %f' % (31.789339, 44.860767))
        pointItem.setFlag(QGraphicsItem.ItemIsSelectable, True)
        lineItem = view.scene().addLine(32.859741, 39.933365, 31.789339,
                                        41.450508)
        lineItem.setPen(QPen(QBrush(Qt.blue), 3.0))

        polylineItem = view.scene().addPolyline('41.450508', '31.789339')
        polylineItem.setPen(QPen(QBrush(Qt.red), 3.0))
        pix = QPixmap(24, 24)
        pix.fill(Qt.red)
        pixmapItem = view.scene().addPixmap(31.789339, 44.860767, pix)
        pixmapItem.setOffset(-12, -12)
Exemple #4
0
    def __init__(self):
        QMainWindow.__init__(self)

        view = MapGraphicsView(tileSource=MapTileSourceHere())

        self.setCentralWidget(view)

        view.scene().setCenter(10.065990, 44.861041)
        view.setOptimizationFlag(QGraphicsView.DontSavePainterState, True)
        view.setRenderHint(QPainter.Antialiasing, True)
        view.setRenderHint(QPainter.SmoothPixmapTransform, True)

        pointItem = view.scene().addCircle(10.068640, 44.860767, 3.0)
        pointItem.setBrush(Qt.black)
        pointItem.setToolTip('10.068640, 44.860767')
        pointItem.setFlag(QGraphicsItem.ItemIsSelectable, True)

        lats = list()
        lons = list()
        for p in POINTS:
            pointItem = view.scene().addCircle(p[1], p[0], 5.0)
            pointItem.setBrush(Qt.green)
            pointItem.setPen(QPen(Qt.NoPen))
            pointItem.setToolTip('%f, %f' % (p[1], p[0]))
            pointItem.setFlag(QGraphicsItem.ItemIsSelectable, True)
            lons.append(p[1])
            lats.append(p[0])

        lineItem = view.scene().addLine(10.191037, 44.832810, 10.201736, 44.837632)
        lineItem.setPen(QPen(QBrush(Qt.blue), 3.0))

        polylineItem = view.scene().addPolyline(lons, lats)
        polylineItem.setPen(QPen(QBrush(Qt.red), 3.0))

        pix = QPixmap(24, 24)
        pix.fill(Qt.red)
        pixmapItem = view.scene().addPixmap(10.090598, 44.857893, pix)
        pixmapItem.setOffset(-12, -12)
        pointItemPixmapOrigin = view.scene().addCircle(10.090598, 44.857893, 3.0)
        pointItemPixmapOrigin.setBrush(Qt.black)

        pointItemWithChild = view.scene().addCircle(10.083103, 44.858014, 3.0)
        pointItemWithChild.setBrush(Qt.blue)
        pointItemWithChild.setPen(QPen(Qt.NoPen))

        textItem = QGraphicsSimpleTextItem('Annotation\nfor blue point', parent=pointItemWithChild)
        textItem.setBrush(QBrush(QColor(Qt.blue)))
        textItem.setPos(-5, 3)

        lats_2 = list()
        lons_2 = list()
        for p in POINTS_2:
            lons_2.append(p[1])
            lats_2.append(p[0])
        linesGroupItem = view.scene().addLinesGroup(lons_2, lats_2)
        linesGroupItem.setLineStyle(POINTS_2_COLORS, width=POINTS_2_SIZES)

        legendItem = view.scene().addLegend()
        legendItem.addPoint('Point 1', '#FF0000', border=None)
        legendItem.addRect('Rect 2', '#00FF00', border=None)
        legendItem.addPoint('Circle 3', '#0000FF', border=None)
        legendItem.addRect('Sphere 4', '#00FFFF', border=None)
        legendItem.addPoint('Polygon 5', '#FF00FF', border=None)

        scaleItem = view.scene().addScale(anchor=Qt.BottomRightCorner)
Exemple #5
0
    def __init__(self):
        QMainWindow.__init__(self)

        view = MapGraphicsView(tileSource=MapTileSourceHere())

        self.setCentralWidget(view)

        view.scene().setCenter(10.065990, 44.861041, zoom=13)
        view.setOptimizationFlag(QGraphicsView.DontSavePainterState, True)
        view.setRenderHint(QPainter.Antialiasing, True)
        view.setRenderHint(QPainter.SmoothPixmapTransform, True)

        pointItem = view.scene().addCircle(10.068640, 44.860767, 3.0)
        pointItem.setBrush(Qt.black)
        pointItem.setToolTip('10.068640, 44.860767')
        pointItem.setFlag(QGraphicsItem.ItemIsSelectable, True)

        lats = list()
        lons = list()
        for p in POINTS:
            pointItem = view.scene().addCircle(p[1], p[0], 5.0)
            pointItem.setBrush(Qt.green)
            pointItem.setPen(QPen(Qt.NoPen))
            pointItem.setToolTip('%f, %f' % (p[1], p[0]))
            pointItem.setFlag(QGraphicsItem.ItemIsSelectable, True)
            lons.append(p[1])
            lats.append(p[0])

        lineItem = view.scene().addLine(10.191037, 44.832810, 10.201736,
                                        44.837632)
        lineItem.setPen(QPen(QBrush(Qt.blue), 3.0))

        polylineItem = view.scene().addPolyline(lons, lats)
        polylineItem.setPen(QPen(QBrush(Qt.red), 3.0))

        pix = QPixmap(24, 24)
        pix.fill(Qt.red)
        pixmapItem = view.scene().addPixmap(10.090598, 44.857893, pix)
        pixmapItem.setOffset(-12, -12)
        pointItemPixmapOrigin = view.scene().addCircle(10.090598, 44.857893,
                                                       3.0)
        pointItemPixmapOrigin.setBrush(Qt.black)

        # Pixmap with both corners geo-referenced
        geo_pixmap = QPixmap(36, 36)
        geo_pixmap.fill(Qt.blue)
        geo_pixmap_item = view.scene().addGeoPixmap(10.090598, 44.8709, 10.092,
                                                    44.873, geo_pixmap)
        geo_pixmap_item.setLabel("GeoPixmapItem")
        geo_pixmap_item.showLabel()

        # Blue Point with an HTML label
        blue_point = view.scene().addCircle(10.083103, 44.868014, 3.0)
        blue_point.setBrush(Qt.blue)
        blue_point.setPen(QPen(Qt.NoPen))
        blue_point.setLabel("<div style='background-color: #ffff00;'>" +
                            "Label for Blue Point" + "</div>",
                            html=True)
        blue_point.showLabel()

        # Location Pin
        pin_item = view.scene().addPin(10.06, 44.84)
        pin_item.setLabel(
            "<div style='background-color: #00ff00;'><I>Pin Item</I></div>",
            html=True)
        pin_item.showLabel()

        # Pixmap with all four corners geo-referenced
        lon0r = 10.06
        lat0r = 44.83
        lon1r = 10.110000000000001
        lat1r = 44.743397459621555
        lon2r = 9.936794919243113
        lat2r = 44.64339745962155
        lon3r = 9.886794919243112
        lat3r = 44.73

        clr = QColor(0, 255, 0, 100)
        pix = QPixmap(100, 100)
        pix.fill(clr)

        view.scene().addGeoPixmapCorners(lon0r, lat0r, lon1r, lat1r, lon2r,
                                         lat2r, lon3r, lat3r, pix)

        lats_2 = list()
        lons_2 = list()
        for p in POINTS_2:
            lons_2.append(p[1])
            lats_2.append(p[0])
        linesGroupItem = view.scene().addLinesGroup(lons_2, lats_2)
        linesGroupItem.setLineStyle(POINTS_2_COLORS, width=POINTS_2_SIZES)

        legendItem = view.scene().addLegend()
        legendItem.addPoint('Point 1', '#FF0000', border=None)
        legendItem.addRect('Rect 2', '#00FF00', border=None)
        legendItem.addPoint('Circle 3', '#0000FF', border=None)
        legendItem.addRect('Sphere 4', '#00FFFF', border=None)
        legendItem.addPoint('Polygon 5', '#FF00FF', border=None)

        navItem = view.scene().addNavItem(anchor=Qt.TopRightCorner)

        scaleItem = view.scene().addScale(anchor=Qt.BottomRightCorner)
Exemple #6
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.stopflag = False
        self.resize(1926, 1006)
        self.frame_gl = QFrame()
        opengl = QOpenGLWidget(parent=self.frame_gl)
        self.setWindowIcon(QIcon("logo1.png"))
        self.setAutoFillBackground(True)
        oImage = QImage("ekran8.png")
        sImage = oImage.scaled(QSize(1926, 1020))
        palette = QPalette()
        palette.setBrush(QPalette.Window, QBrush(sImage))
        self.setPalette(palette)
        self.bosluk = QLabel("    ")
        self.genelhbox = QHBoxLayout()
        self.firstvb = QVBoxLayout()
        self.kamera = QLabel()
        self.kamera.setFixedHeight(400)
        self.kamera.setFixedWidth(350)
        self.kamera.setStyleSheet("border:1px solid #000000")
        self.kamera.setPixmap(QPixmap("kamera.jpg"))
        self.logo = QLabel()
        self.logo.setFixedHeight(150)
        self.logo.setFixedWidth(260)
        self.logo.setPixmap(QPixmap("logo4.PNG"))
        self.logo.setAlignment(Qt.AlignTop)
        gpslatitude = [
            41.4528, 41.4522, 41.4519, 41.4517, 41.4516, 41.4514, 41.4510,
            41.4506, 41.4502, 41.4498, 41.4493, 41.4492, 41.4490, 41.4483,
            41.4485
        ]
        gpslongitude = [
            31.7587, 31.7595, 31.7601, 31.7605, 31.7611, 31.7616, 31.7620,
            31.7624, 31.7629, 31.7636, 31.7639, 31.7650, 31.7649, 31.7645,
            31.7652
        ]

        view = MapGraphicsView(tileSource=MapTileSourceHere()
                               )  #tileSource=MapTileSourceOSM("map.osm")
        view.scene().setCenter(gpslongitude[0], gpslatitude[0])
        view.setOptimizationFlag(QGraphicsView.DontSavePainterState, True)
        view.setRenderHint(QPainter.Antialiasing, True)
        view.setRenderHint(QPainter.SmoothPixmapTransform, True)
        #pointItem = view.scene().addCircle(gpslongitude[0], gpslatitude[0], 3.0)
        #pointItem2 = view.scene().addCircle(gpslongitude[14], gpslatitude[14], 5.0)
        #pointItem2.setFlag(QGraphicsItem.ItemIsSelectable, True)
        #pointItem2.setBrush(Qt.red)
        #pointItem2.setPen(QPen(Qt.NoPen))
        #pointItem2.setToolTip('%f, %f' % (gpslongitude[14], gpslatitude[14]))
        #pointItem.setToolTip('%f, %f' % (gpslongitude[0], gpslatitude[0]))
        #pointItem.setBrush(Qt.black)
        #pointItem.setToolTip('31.789339, 41.450508')
        #pointItem = view.scene().addCircle(gpslongitude[0], gpslatitude[0], 5.0)
        #pointItem.setBrush(Qt.green)
        #pointItem.setPen(QPen(Qt.NoPen))
        #for i in range(1,14):
        #    pointItem3 = view.scene().addCircle(gpslongitude[i], gpslatitude[i], 5.0)
        #    pointItem3.setBrush(Qt.blue)
        #    pointItem3.setPen(QPen(Qt.NoPen))
        #    pointItem3.setToolTip('%f, %f' % (gpslongitude[i], gpslatitude[i]))
        #    pointItem3.setFlag(QGraphicsItem.ItemIsSelectable, True)
        self.z = 0
        self.resize(1926, 1006)
        #view.setStyleSheet("border:4px solid #F5BB47")
        view.setFixedWidth(350)
        view.setFixedHeight(400)
        self.twovb = QVBoxLayout()
        view.setStyleSheet("border:1px solid #000000")
        self.threevb = QVBoxLayout()
        self.firstvb.addWidget(self.logo)
        self.firstvb.addWidget(self.bosluk)
        self.firstvb.addWidget(self.kamera)
        self.firstvb.addWidget(self.bosluk)
        self.firstvb.addWidget(view)
        self.twovbhb1 = QHBoxLayout()
        self.twovbhb12 = QHBoxLayout()
        self.twovbhb13 = QHBoxLayout()
        self.twovbhb14 = QHBoxLayout()
        self.twovbhb15 = QHBoxLayout()
        self.twovbvb1 = QVBoxLayout()
        self.twovbhb2 = QHBoxLayout()
        self.twovbhb3 = QHBoxLayout()
        self.port = QLabel("Ports:       ")
        self.port.setFixedWidth(100)
        self.port.setFont(QFont("Helvetica", 12, QFont.Bold))
        self.ports = QComboBox()
        self.ports.setFixedWidth(100)
        self.ports.addItems([''])
        self.ports.addItems(self.portlar())
        self.ports.setStyleSheet("font: bold 15px;")
        self.groupbox2 = QGroupBox("Seri Port Yapılandırması")
        self.start = QPushButton("BAŞLA")
        self.start.setFont(QFont(
            "Helvetica",
            10,
        ))
        self.start.clicked.connect(self.Start)
        self.start.setInputMethodHints(Qt.ImhNone)
        #self.start.clicked.connect(self.Start)
        self.baudrates = QLabel("Baudrate:     ")
        self.baudrates.setFont(QFont("Helvetica", 12, QFont.Bold))
        self.baudrate = QComboBox()
        self.baudrate.setFixedWidth(100)
        self.baudrate.addItems(["", "9600", "19200"])
        self.baudrate.setStyleSheet("font: bold 15px;")
        self.baudrates.setFixedWidth(100)

        self.gerial = QPushButton("GERİ AL")
        self.twovbhb15.addWidget(self.gerial)

        self.ayırma = QPushButton("AYIR")
        self.ayırma.setFixedWidth(113)
        self.gerial.setFixedWidth(113)
        self.groupbox4 = QGroupBox("Ayrılma Komutu")
        self.groupbox3 = QGroupBox(
            "Arşivlenen Verileri Arayüze Geri Alma Komutu")
        self.groupbox3.setLayout(self.twovbhb15)
        self.twovbhb14.addWidget(self.ayırma)
        self.groupbox4.setLayout(self.twovbhb14)
        self.ayırma.setFont(QFont("Helvetica", 10))
        self.packetcount = QLabel("Paket Numarası:")
        self.packetcount2 = QLabel()
        self.packetcount.setFont(QFont("Helvetica", 12, QFont.Bold))
        self.packetcount2.setFont(QFont("Helvetica", 12, QFont.Bold))
        self.packetcount.setFixedWidth(137)
        self.missiontime = QLabel("Gönderme Saati:")
        self.missiontime2 = QLabel()
        self.missiontime2.setFont(QFont("Helvetica", 12, QFont.Bold))
        self.missiontime.setFont(QFont("Helvetica", 12, QFont.Bold))
        self.missiontime.setFixedWidth(157)
        self.start.setInputMethodHints(Qt.ImhNone)
        self.dosyasecs = QLabel("Dosya Seç:")
        self.dosyasecs.setFixedHeight(20)
        self.dosyasecs.setFixedWidth(90)
        self.dosyasecs.setFont(QFont("Helvetica", 12, QFont.Bold))
        self.dosyasec = QPushButton("...")
        self.stop = QPushButton("DUR")
        self.stop.setInputMethodHints(Qt.ImhNone)
        self.stop.clicked.connect(self.Stop)
        self.stop.setFont(QFont(
            "Helvetica",
            10,
        ))
        self.dosyasec.setFixedHeight(20)
        self.dosyasec.setFixedWidth(20)
        self.gonder = QPushButton("GÖNDER")
        self.gonder.setFixedWidth(110)
        self.gonder.setFont(QFont(
            "Helvetica",
            10,
        ))
        self.groupbox = QGroupBox("Video Aktarımı")
        self.gbx = QHBoxLayout()
        self.gbx.addWidget(self.dosyasecs)
        self.gbx.addWidget(self.dosyasec)
        self.gbx.addWidget(self.gonder)
        self.groupbox.setLayout(self.gbx)
        self.twovbhb13.addWidget(self.port)
        self.twovbhb13.addWidget(self.ports)
        self.twovbhb13.addWidget(self.bosluk)
        self.twovbhb13.addWidget(self.baudrates)
        self.twovbhb13.addWidget(self.baudrate)
        self.twovbhb12.addWidget(self.start)
        self.twovbhb12.addWidget(self.stop)
        self.twovbvb1.addLayout(self.twovbhb13)
        self.twovbvb1.addLayout(self.twovbhb12)
        self.groupbox2.setLayout(self.twovbvb1)
        self.twovbhb1.addWidget(self.groupbox2)
        self.twovbhb1.addWidget(self.bosluk)
        self.twovbhb1.addWidget(self.groupbox4)
        self.twovbhb1.addWidget(self.bosluk)
        self.twovbhb1.addWidget(self.groupbox3)
        self.twovbhb1.addWidget(self.bosluk)
        self.twovbhb1.addWidget(self.groupbox)

        self.temp = []
        self.pressure = list()
        self.voltage = list()
        self.altitude = list()
        self.inishiz = list()
        self.gpsaltitude = list()
        self.timer = list()
        self.tableWidget2 = QTableWidget()
        self.tableWidget2.setEditTriggers(QTableWidget.NoEditTriggers)
        self.tableWidget2.setColumnCount(17)
        self.tableWidget2.setHorizontalHeaderLabels(
            str("TAKIM NO;PAKET NUMARASI;GÖNDERME SAATİ;BASINÇ;YÜKSEKLİK;İNİŞ HIZI;SICAKLIK;PİL GERİLİMİ;GPS LATITUDE;GPS LONGITUDE;GPS ALTITUDE;UYDU STATÜSÜ;PITCH;ROLL;YAW;DÖNÜŞ SAYISI;VİDEO AKTARIM BİLGİSİ"
                ).split(";"))
        self.tableWidget2.verticalHeader().hide()
        self.tableWidget2.horizontalHeader().setStyleSheet("font: bold 7px;")
        self.tableWidget2.horizontalHeader().setDefaultAlignment(Qt.AlignLeft)
        self.tableWidget2.horizontalScrollBar().hide()
        self.tableWidget2.setStyleSheet("font:12px;")
        self.tableWidget2.setColumnWidth(0, 57)
        self.tableWidget2.setColumnWidth(1, 97)
        self.tableWidget2.setColumnWidth(2, 96)
        self.tableWidget2.setColumnWidth(3, 47)
        self.tableWidget2.setColumnWidth(4, 60)
        self.tableWidget2.setColumnWidth(5, 53)
        self.tableWidget2.setColumnWidth(6, 51)
        self.tableWidget2.setColumnWidth(7, 70)
        self.tableWidget2.setColumnWidth(8, 78)
        self.tableWidget2.setColumnWidth(9, 88)
        self.tableWidget2.setColumnWidth(10, 77)
        self.tableWidget2.setColumnWidth(11, 83)
        self.tableWidget2.setColumnWidth(12, 38)
        self.tableWidget2.setColumnWidth(13, 34)
        self.tableWidget2.setColumnWidth(14, 33)
        self.tableWidget2.setColumnWidth(15, 81)
        self.tableWidget2.setColumnWidth(16, 130)
        self.tableWidget2.horizontalHeader().setStyleSheet("font: bold 10px;")
        self.tableWidget2.setFixedHeight(195)
        self.tableWidget = QTableWidget()
        self.tableWidget.setEditTriggers(QTableWidget.NoEditTriggers)
        self.tableWidget.setColumnCount(17)
        self.tableWidget.setHorizontalHeaderLabels(
            str("TAKIM NO;PAKET NUMARASI;GÖNDERME SAATİ;BASINÇ;YÜKSEKLİK;İNİŞ HIZI;SICAKLIK;PİL GERİLİMİ;GPS LATITUDE;GPS LONGITUDE;GPS ALTITUDE;UYDU STATÜSÜ;PITCH;ROLL;YAW;DÖNÜŞ SAYISI;VİDEO AKTARIM BİLGİSİ"
                ).split(";"))
        self.tableWidget.verticalHeader().hide()
        self.tableWidget.horizontalHeader().setStyleSheet("font: bold 13px;")
        self.tableWidget.horizontalHeader().setDefaultAlignment(Qt.AlignLeft)
        self.tableWidget.horizontalScrollBar().hide()
        self.tableWidget.setStyleSheet("font:12px;")
        self.tableWidget.setColumnWidth(0, 59)
        self.tableWidget.setColumnWidth(1, 98)
        self.tableWidget.setColumnWidth(2, 97)
        self.tableWidget.setColumnWidth(3, 47)
        self.tableWidget.setColumnWidth(4, 61)
        self.tableWidget.setColumnWidth(5, 56)
        self.tableWidget.setColumnWidth(6, 55)
        self.tableWidget.setColumnWidth(7, 72)
        self.tableWidget.setColumnWidth(8, 75)
        self.tableWidget.setColumnWidth(9, 89)
        self.tableWidget.setColumnWidth(10, 77)
        self.tableWidget.setColumnWidth(11, 86)
        self.tableWidget.setColumnWidth(12, 38)
        self.tableWidget.setColumnWidth(13, 34)
        self.tableWidget.setColumnWidth(14, 33)
        self.tableWidget.setColumnWidth(15, 81)
        self.tableWidget.setColumnWidth(16, 130)
        self.tableWidget.horizontalHeader().setStyleSheet("font: bold 10px;")
        self.splitter1 = QSplitter()
        self.splitter1.setOrientation(Qt.Vertical)
        self.splitter2 = QSplitter()
        self.splitter2.setOrientation(Qt.Horizontal)
        self.splitter3 = QSplitter()
        self.splitter3.setOrientation(Qt.Horizontal)
        self.splitter4 = QSplitter()
        self.splitter4.setOrientation(Qt.Horizontal)
        self.dates2 = []
        self.axis = DateAxis(orientation='bottom')
        self.axis2 = DateAxis(orientation='bottom')
        self.axis3 = DateAxis(orientation='bottom')
        self.axis4 = DateAxis(orientation='bottom')
        self.axis5 = DateAxis(orientation='bottom')
        self.axis6 = DateAxis(orientation='bottom')
        self.pw = pg.PlotWidget(axisItems={'bottom': self.axis},
                                title="PlotItem")
        self.pw2 = pg.PlotWidget(axisItems={'bottom': self.axis2},
                                 title="PlotItem")
        self.pw3 = pg.PlotWidget(axisItems={'bottom': self.axis3},
                                 title="PlotItem")
        self.pw4 = pg.PlotWidget(axisItems={'bottom': self.axis4},
                                 title="PlotItem")
        self.pw5 = pg.PlotWidget(axisItems={'bottom': self.axis5},
                                 title="PlotItem")
        self.pw6 = pg.PlotWidget(axisItems={'bottom': self.axis6},
                                 title="PlotItem")
        self.pen = pg.mkPen(color=(0, 0, 0))
        self.pw.setBackground('w')
        self.pw.setTitle(
            '<span style=\"color:black;font-size:17px\">YÜKSEKLİK(m)</span>')
        self.pw.setLabel(
            'left', '<span style=\"color:black;font-size:17px\">m</span>')
        self.pw.setLabel(
            'bottom',
            '<span style=\"color:black;font-size:17px\">Gönderme Saati(sa:dk:sn)</span>'
        )
        self.data_line = self.pw.plot(self.dates2,
                                      self.altitude,
                                      pen=self.pen,
                                      symbol='o',
                                      symbolSize=10,
                                      symbolBrush=('r'))
        self.pw2.setBackground('w')
        self.pw2.setTitle(
            '<span style=\"color:black;font-size:17px\">SICAKLIK(°C)</span>')
        self.pw2.setLabel(
            'left', '<span style=\"color:black;font-size:17px\">°C</span>')
        self.pw2.setLabel(
            'bottom',
            '<span style=\"color:black;font-size:17px\">Gönderme Saati(sa:dk:sn)</span>'
        )
        self.data_line2 = self.pw2.plot(self.dates2,
                                        self.temp,
                                        pen=self.pen,
                                        symbol='o',
                                        symbolSize=10,
                                        symbolBrush=('r'))
        self.pw3.setBackground('w')
        self.pw3.setTitle(
            '<span style=\"color:black;font-size:17px\">BASINÇ(Pa)</span>')
        self.pw3.setLabel(
            'left', '<span style=\"color:black;font-size:17px\">Pa</span>')
        self.pw3.setLabel(
            'bottom',
            '<span style=\"color:black;font-size:17px\">Gönderme Saati(sa:dk:sn)</span>'
        )
        self.data_line3 = self.pw3.plot(self.dates2,
                                        self.pressure,
                                        pen=self.pen,
                                        symbol='o',
                                        symbolSize=10,
                                        symbolBrush=('r'))
        self.pw4.setBackground('w')
        self.pw4.setTitle(
            '<span style=\"color:black;font-size:17px\">PİL GERİLİMİ(V)</span>'
        )
        self.pw4.setLabel(
            'left', '<span style=\"color:black;font-size:17px\">V</span>')
        self.pw4.setLabel(
            'bottom',
            '<span style=\"color:black;font-size:17px\">Gönderme Saati(sa:dk:sn)</span>'
        )
        self.data_line4 = self.pw4.plot(self.dates2,
                                        self.voltage,
                                        pen=self.pen,
                                        symbol='o',
                                        symbolSize=10,
                                        symbolBrush=('r'))
        self.pw5.setBackground('w')
        self.pw5.setTitle(
            '<span style=\"color:black;font-size:17px\">İNİŞ HIZI(m/s)</span>')
        self.pw5.setLabel(
            'left', '<span style=\"color:black;font-size:17px\">m/s</span>')
        self.pw5.setLabel(
            'bottom',
            '<span style=\"color:black;font-size:17px\">Gönderme Saati(sa:dk:sn)</span>'
        )
        self.data_line5 = self.pw5.plot(self.dates2,
                                        self.gpsaltitude,
                                        pen=self.pen,
                                        symbol='o',
                                        symbolSize=10,
                                        symbolBrush=('r'))
        self.pw6.setBackground('w')
        self.pw6.setTitle(
            '<span style=\"color:black;font-size:17px\">GPS ALTİTUDE(m)</span>'
        )
        self.pw6.setLabel(
            'left', '<span style=\"color:black;font-size:17px\">m</span>')
        self.pw6.setLabel(
            'bottom',
            '<span style=\"color:black;font-size:17px\">Gönderme Saati(sa:dk:sn)</span>'
        )
        self.data_line6 = self.pw6.plot(self.dates2,
                                        self.inishiz,
                                        pen=self.pen,
                                        symbol='o',
                                        symbolSize=10,
                                        symbolBrush=('r'))
        self.splitter3.addWidget(self.pw)
        self.splitter3.addWidget(self.pw2)
        self.splitter3.addWidget(self.pw3)
        self.splitter2.addWidget(self.pw4)
        self.splitter2.addWidget(self.pw5)
        self.splitter2.addWidget(self.pw6)
        self.splitter1.addWidget(self.splitter3)
        self.splitter1.addWidget(self.splitter2)
        self.splitter4.addWidget(self.tableWidget2)
        self.splitter1.addWidget(self.splitter4)
        layout = QGridLayout()
        view2 = MapGraphicsView(tileSource=MapTileSourceHere()
                                )  #tileSource=MapTileSourceOSM("map.osm")
        view2.scene().setCenter(gpslongitude[0], gpslatitude[0])
        view2.setOptimizationFlag(QGraphicsView.DontSavePainterState, True)
        view2.setRenderHint(QPainter.Antialiasing, True)
        view2.setRenderHint(QPainter.SmoothPixmapTransform, True)
        #pointItem3 = view2.scene().addCircle(gpslongitude[0], gpslatitude[0], 3.0)
        #pointItem4 = view2.scene().addCircle(gpslongitude[14], gpslatitude[14], 5.0)
        #pointItem4.setFlag(QGraphicsItem.ItemIsSelectable, True)
        #pointItem4.setBrush(Qt.red)
        #pointItem4.setPen(QPen(Qt.NoPen))
        #pointItem4.setToolTip('%f, %f' % (gpslongitude[14], gpslatitude[14]))
        #pointItem3.setToolTip('%f, %f' % (gpslongitude[0], gpslatitude[0]))
        #pointItem3.setBrush(Qt.black)
        #pointItem3.setToolTip('31.789339, 41.450508')
        #pointItem3 = view2.scene().addCircle(gpslongitude[0], gpslatitude[0], 5.0)
        #pointItem3.setBrush(Qt.green)
        #pointItem3.setPen(QPen(Qt.NoPen))
        #for i in range(1,14):
        #    pointItem5 = view2.scene().addCircle(gpslongitude[i], gpslatitude[i], 5.0)
        #    pointItem5.setBrush(Qt.blue)
        #    pointItem5.setPen(QPen(Qt.NoPen))
        #    pointItem5.setToolTip('%f, %f' % (gpslongitude[i], gpslatitude[i]))
        #    pointItem5.setFlag(QGraphicsItem.ItemIsSelectable, True)
        self.kamera2 = QLabel()
        self.kamera2.setPixmap(QPixmap("kamera.jpg"))
        tabwidget = QTabWidget()
        tabwidget.addTab(self.splitter1, "GRAFİKLER")
        tabwidget.addTab(self.tableWidget, "TELEMETRİ VERİLERİ")
        tabwidget.addTab(view2, "HARİTA")
        tabwidget.addTab(self.kamera2, "KAMERA KAYDI")
        tabwidget.setStyleSheet("font: bold 18px;")
        layout.addWidget(tabwidget, 0, 0)

        self.twovbhb3.addWidget(self.packetcount)
        self.twovbhb3.addWidget(self.packetcount2)
        self.twovbhb3.addWidget(self.missiontime)
        self.twovbhb3.addWidget(self.missiontime2)
        self.twovb.addLayout(self.twovbhb1)
        self.twovb.addLayout(self.twovbhb3)
        self.twovb.addWidget(self.bosluk)
        self.twovb.addLayout(layout)

        self.prog = QProgressBar(self)
        self.prog.setMaximum(100)
        self.prog.setUpdatesEnabled(True)
        self.prog.setValue(0)
        self.prog.setAlignment(Qt.AlignCenter)
        self.prog.setStyleSheet(
            "QProgressBar{border: 2px solid grey; border-radius: 5px;}")
        self.prog.setStyleSheet(
            "::chunk{background-color: #42C9EB; width: 10px; margin:1.2px; align:center}"
        )
        self.prog.setFixedWidth(350)
        self.prog.setFixedHeight(54)
        self.prog.setFont(QFont("Helvetica", 13, QFont.Bold))
        self.listem = QListWidget()
        self.addg = QBrush(QColor(0, 255, 127))  #(156, 239, 130)
        self.listem.setStyleSheet("font:bold 13px rgb(4, 199, 234)")
        self.listem.setFixedHeight(242)
        self.listem.setFixedWidth(350)
        self.listem.setSelectionMode(QListWidget.MultiSelection)
        self.listem.setAutoFillBackground(True)
        self.softws = QLabel("          UYDU STATÜSÜ")
        self.listemitem = [
            "Görev Başladı", "Uçuş Bekleniyor",
            "Uydu(Taşıyıcı+Yük) Yükselmekte", "Uydu(Taşıyıcı+Yük) İnişte",
            "Yük Taşıyıcıdan Ayrıldı", "Yük Kurtarılmayı Bekliyor",
            "Görev Tamamlandı"
        ]
        for i in self.listemitem:
            self.listem.addItem(i)
        self.softws.setFixedWidth(352)
        self.softws.setFixedHeight(62)
        self.softws.setStyleSheet(
            "font:bold 24px #E0E0E0; background-color: #e6e6e6; border:1px solid #000000"
        )
        self.listem.setStyleSheet("font:24px;background-color: #e6e6e6")
        filename = "ipek.STL"
        self.frame = QFrame()
        self.frame.resize(100, 100)
        reader = vtk.vtkSTLReader()
        reader.SetFileName(filename)
        self.vl = QVBoxLayout()
        self.vtkWidget = QVTKRenderWindowInteractor(self.frame)
        self.vl.addWidget(self.vtkWidget)
        self.iren = self.vtkWidget.GetRenderWindow().GetInteractor()
        self.transform = vtk.vtkTransform()
        self.transformFilter = vtk.vtkTransformPolyDataFilter()
        self.transformFilter.SetTransform(self.transform)
        self.transformFilter.SetInputConnection(reader.GetOutputPort())
        self.transformFilter.Update()
        self.mapper = vtk.vtkPolyDataMapper()
        if vtk.VTK_MAJOR_VERSION <= 5:
            self.mapper.SetInput(self.transformFilter.GetOutput())
        else:
            self.mapper.SetInputConnection(
                self.transformFilter.GetOutputPort())
        self.actor = vtk.vtkActor()
        self.actor.SetMapper(self.mapper)
        self.actor.SetScale(0.0107, 0.0107, 0.0107)
        self.actor.GetProperty().SetColor(0.5, 0.5, 0.5)
        self.actor.GetProperty().SetOpacity(0.5)
        self.ren = vtk.vtkRenderer()
        self.vtkWidget.GetRenderWindow().AddRenderer(self.ren)
        self.ren.AddActor(self.actor)
        self.ren.SetBackground(0.496, 0.832, 0.996)
        self.ren.ResetCamera()
        self.frame.setLineWidth(0.6)
        self.frame.setLayout(self.vl)
        self.iren.Initialize()
        self.frame.setFixedWidth(350)
        self.frame.setFixedHeight(423)
        self.frame.setStyleSheet(
            "border:1px solid #000000; background-color:#7FD5FF")
        self.koordinat = QLabel(
            "PITCH:                    ROLL:                    YAW:")
        self.koordinat.setFixedHeight(72)
        self.koordinat.setFixedWidth(350)
        self.koordinat.setStyleSheet(
            "font:bold 15px; background-color: #e6e6e6; border:1px solid #000000"
        )
        self.stated = QLabel("Uydu Statüsü:")
        self.stated.setFont(QFont("Helvetica", 12, QFont.Bold))
        self.kaynak = QLabel("Görev Tamamlanma Yüzdesi:")
        self.kaynak.setFont(QFont("Helvetica", 12, QFont.Bold))
        self.kaynak.setFixedHeight(25)
        self.threevb.addWidget(self.kaynak)
        self.threevb.addWidget(self.prog)
        self.threevb.addWidget(self.stated)
        self.threevb.addWidget(self.bosluk)
        self.threevb.addWidget(self.softws)
        self.threevb.addWidget(self.listem)

        self.threevb.addWidget(self.frame)
        self.threevb.addWidget(self.koordinat)
        self.genelhbox.addLayout(self.firstvb)
        self.genelhbox.addLayout(self.twovb)
        self.genelhbox.addLayout(self.threevb)
        self.setLayout(self.genelhbox)
        self.setWindowTitle("Grizu-263 Uzay Takımı| Yer İstasyonu")
        self.show()