Código: Interfaz (Ejecución) - AaroniSalinas/ProyectoFinal GitHub Wiki
En este programa se realizan las llamadas a función necesarias para la actualización de la interfaz gráfica.
Librerías
import os
import datetime
import sys
from PyQt5.QtWidgets import QApplication, QDialog, QTableWidgetItem
from PyQt5 import QtGui, QtCore
from latas import *
from PyQt5.QtCore import QDate, QTime, QDateTime, Qt
from Final3 import *
import numpy as np
Conexión web
myAPI = "6Y2UK5ORG1Z4BLWL"
anterior=1
import requests
def web(self,u,i,a):
enviar=requests.get("https://api.thingspeak.com/update?api_key=6Y2UK5ORG1Z4BLWL&field1="+ str(u)+"&field2="+ str(i)+"&field3="+ str(a))
Funciones de botones
class Ui_Dialog(QtWidgets.QDialog,Ui_Dialog):
Inicialización
def __init__(self, *args, **kwargs):
QtWidgets.QApplication.__init__(self, *args, **kwargs)
self.setupUi(self)
self.datos= []
self.label.setFont(QtGui.QFont('SansSerif', 10))
self.label.setText("Reciclador")
self.Acelerometro.clicked.connect(lambda: self.pantallaAce("Acelerometro"))
self.Inductivo.clicked.connect(lambda: self.pantallaInd("Sensor Inductivo"))
self.Ultrasonico.clicked.connect(lambda: self.pantallaUltra("Sensor Ultrasonico"))
Actualizar pantalla de Acelerómetro
def pantallaAce(self,texto):
self.label.setFont(QtGui.QFont('SansSerif', 10))
self.label.setText(texto)
now = QDate.currentDate()
tiempo = QTime.currentTime()
self.inicio(str(Acelerometro()),now.toString(Qt.ISODate),tiempo.toString(Qt.DefaultLocaleLongDate))
self.agregar()
Actualizar pantalla de Inductivo
def pantallaInd(self,texto):
self.label.setFont(QtGui.QFont('SansSerif', 10))
self.label.setText(texto)
now = QDate.currentDate()
tiempo = QTime.currentTime()
if Inductivo()==0:
self.inicio("Metal",now.toString(Qt.ISODate),tiempo.toString(Qt.DefaultLocaleLongDate))
self.agregar()
self.web(0,induc,0)
return 0
elif Inductivo()==1:
self.inicio("No metal",now.toString(Qt.ISODate),tiempo.toString(Qt.DefaultLocaleLongDate))
self.agregar()
self.web(0,induc,0)
return 1
else:
self.inicio("No hay nada",now.toString(Qt.ISODate),tiempo.toString(Qt.DefaultLocaleLongDate))
self.agregar()
self.web(0,induc,0)
Actualizar pantalla ultrasónico
def pantallaUltra(self,texto):
self.label.setFont(QtGui.QFont('SansSerif', 10))
self.label.setText(texto)
now = QDate.currentDate()
tiempo = QTime.currentTime()
self.web(ultra,0,0)
self.inicio(str(Ultrasonico()),now.toString(Qt.ISODate),tiempo.toString(Qt.DefaultLocaleLongDate))
self.agregar()
Actualizar Tablas
def inicio(self,uno,dos,tres):
global anterior
if control==anterior:
self.datos.append((uno,dos,tres))
else:
anterior=control
self.datos=[]
self.Tabla.clearContents()
self.datos.append((uno,dos,tres))
def agregar(self):
fila =0
for registro in self.datos:
columna=0
for elemento in registro:
celda= QTableWidgetItem(elemento)
self.Tabla.setItem(fila,columna,celda)
columna+=1
fila+=1
Main
if __name__ == "__main__":
#import sys
app = QtWidgets.QApplication([])
#Dialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.show()
#ui.setupUi(Dialog)
#Dialog.show()
app.exec_()