def __init__(self): super(MainWindow, self).__init__() self.particulas = Particulas() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.finalcap.clicked.connect(self.click_agregarfinal) self.ui.Iniciocap.clicked.connect(self.click_agregarinicio) self.ui.Mostrar.clicked.connect(self.click_mostrar) self.ui.OrigenX.valueChanged.connect(self.setValue) self.ui.OrigenY.valueChanged.connect(self.setValue) self.ui.DestinoX.valueChanged.connect(self.setValue) self.ui.DestinoY.valueChanged.connect(self.setValue) self.ui.Verde.valueChanged.connect(self.setValue) self.ui.Rojo.valueChanged.connect(self.setValue) self.ui.Azul.valueChanged.connect(self.setValue) self.ui.actionAbrir.triggered.connect(self.action_abrir_archivo) self.ui.actionGuardar.triggered.connect(self.action_guardar_archivo) self.ui.actionPor_ID.triggered.connect(self.action_ordenarid) self.ui.actionVelocidad.triggered.connect(self.action_ordenarvelocidad) self.ui.actionDistancia.triggered.connect(self.action_ordenardistancia) self.ui.Mostrartabla_push.clicked.connect(self.Mostrar_tabla) self.ui.Buscar_push.clicked.connect(self.buscar_id) self.ui.Dibujarpush.clicked.connect(self.dibujar) self.ui.Limpiarpush.clicked.connect(self.limpiar) self.scene = QGraphicsScene() self.ui.graphicsView.setScene(self.scene)
def __init__(self): super(MainWindow, self).__init__() self.particulas = Particulas() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.agregar_final_pushButton.clicked.connect(self.click_agregar) self.ui.agregar_inicio_pushButton.clicked.connect( self.click_agregar_inicio) self.ui.mostrar_pushButton.clicked.connect(self.click_mostrar) self.ui.actionAbrir.triggered.connect(self.click_abrir_archivo) self.ui.actionGuardar.triggered.connect(self.click_guardar_archivo) self.ui.mostrar_tabla_pushButton.clicked.connect(self.mostrar_tabla) self.ui.buscar_pushButton.clicked.connect(self.buscar_id) self.scene = QGraphicsScene() self.ui.graphicsView.setScene(self.scene) self.ui.dibujar_pushButton.clicked.connect(self.dibujar) self.ui.limpiar_pushButton.clicked.connect(self.limpiar) self.ui.ordenar_id_pushButton.clicked.connect(self.ordenar_id) self.ui.ordenar_distancia_pushButton.clicked.connect( self.ordenar_distancia) self.ui.ordenar_velocidad_pushButton.clicked.connect( self.ordenar_velocidad) self.ui.actionGrafo.triggered.connect(self.mostrar_grafos) self.ui.action_busqueda.triggered.connect(self.busqueda)
def __init__(self): super(MainWindow, self).__init__() self.particulas = Particulas() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.agregar_inicio_pushButton.clicked.connect( self.click_agregar_inicio) self.ui.agregar_final_pushButton.clicked.connect( self.click_agregar_final) self.ui.mostrar_pushButton.clicked.connect(self.click_mostrar)
def __init__(self): super(MainWindow, self).__init__() self.particulas = Particulas() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.agregar_inicio_pushButton.clicked.connect( self.click_agregar_inicio) self.ui.agregar_final_pushButton.clicked.connect( self.click_agregar_final) self.ui.mostrar_pushButton.clicked.connect(self.click_mostrar) self.ui.actionAbrir.triggered.connect(self.action_abrir_archivo) self.ui.actionGuardar.triggered.connect(self.action_guardar_archivo)
class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.particulas = Particulas() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.agregar_inicio_pushButton.clicked.connect( self.click_agregar_inicio) self.ui.agregar_final_pushButton.clicked.connect( self.click_agregar_final) self.ui.mostrar_pushButton.clicked.connect(self.click_mostrar) @Slot() def click_agregar_inicio(self): id = self.ui.id_lineEdit.text() origen_x = self.ui.origen_x_spinBox.value() origen_y = self.ui.origen_y_spinBox.value() destino_x = self.ui.destino_x_spinBox.value() destino_y = self.ui.destino_y_spinBox.value() velocidad = self.ui.velocidad_spinBox.value() red = self.ui.red_spinBox.value() green = self.ui.green_spinBox.value() blue = self.ui.blue_spinBox.value() particula = Particula(id, origen_x, origen_y, destino_x, destino_y, velocidad, red, green, blue) self.particulas.agregar_inicio(particula) @Slot() def click_agregar_final(self): id = self.ui.id_lineEdit.text() origen_x = self.ui.origen_x_spinBox.value() origen_y = self.ui.origen_y_spinBox.value() destino_x = self.ui.destino_x_spinBox.value() destino_y = self.ui.destino_y_spinBox.value() velocidad = self.ui.velocidad_spinBox.value() red = self.ui.red_spinBox.value() green = self.ui.green_spinBox.value() blue = self.ui.blue_spinBox.value() particula = Particula(id, origen_x, origen_y, destino_x, destino_y, velocidad, red, green, blue) self.particulas.agregar_final(particula) @Slot() def click_mostrar(self): self.ui.cuadro.clear() self.ui.cuadro.insertPlainText(str(self.particulas))
def __init__(self): super(MainWindow, self).__init__() self.particulas = Particulas() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.finalcap.clicked.connect(self.click_agregarfinal) self.ui.Iniciocap.clicked.connect(self.click_agregarinicio) self.ui.Mostrar.clicked.connect(self.click_mostrar) self.ui.OrigenX.valueChanged.connect(self.setValue) self.ui.OrigenY.valueChanged.connect(self.setValue) self.ui.DestinoX.valueChanged.connect(self.setValue) self.ui.DestinoY.valueChanged.connect(self.setValue) self.ui.Verde.valueChanged.connect(self.setValue) self.ui.Rojo.valueChanged.connect(self.setValue) self.ui.Azul.valueChanged.connect(self.setValue) self.ui.actionAbrir.triggered.connect(self.action_abrir_archivo) self.ui.actionGuardar.triggered.connect(self.action_guardar_archivo) self.ui.Mostrartabla_push.clicked.connect(self.Mostrar_tabla) self.ui.Buscar_push.clicked.connect(self.buscar_id)
from PySide2.QtWidgets import QMainWindow from PySide2.QtCore import Slot from ui_mainwindow import Ui_MainWindow from particulas import Particulas from particula import Particula particulas = Particulas() particula = Particula() class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() ui = Ui_MainWindow() ui.setupUi(self) ui.Capturar.clicked.connect(self.click_agregar) ui.Mostrar.clicked.connect(self.click_mostrar) ui.ID.valueChanged.connect(self.setValue) ui.Velocidad.valueChanged.connect(self.setValue) ui.OrigenX.valueChanged.connect(self.slider_value) ui.OrigenY.valueChanged.connect(self.slider_value) ui.DestinoX.valueChanged.connect(self.slider_value) ui.DestinoY.valueChanged.connect(self.slider_value) ui.Rojo.valueChanged.connect(self.slider_value) ui.Verde.valueChanged.connect(self.slider_value) ui.Azul.valueChanged.connect(self.slider_value) @Slot() def setValue(self, valor): print(valor)
class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.particulas = Particulas() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.agregar_inicio_pushButton.clicked.connect( self.click_agregar_inicio) self.ui.agregar_final_pushButton.clicked.connect( self.click_agregar_final) self.ui.mostrar_pushButton.clicked.connect(self.click_mostrar) self.ui.actionAbrir.triggered.connect(self.action_abrir_archivo) self.ui.actionGuardar.triggered.connect(self.action_guardar_archivo) self.ui.mostrar_tabla_pushButton.clicked.connect(self.mostrar_tabla) self.ui.buscar_pushButton.clicked.connect(self.buscar_id) self.ui.dibujar.clicked.connect(self.dibujar) self.ui.limpiar.clicked.connect(self.limpiar) self.scene = QGraphicsScene() self.ui.graphicsView.setScene(self.scene) def wheelEvent(self, event): if event.delta() > 0: self.ui.graphicsView.scale(1.2, 1.2) else: self.ui.graphicsView.scale(0.8, 0.8) @Slot() def dibujar(self): pen = QPen() pen.setWidth(2) for particula in self.particulas: r = particula.red g = particula.green b = particula.blue color = QColor(r, g, b) pen.setColor(color) self.scene.addEllipse(particula.origen_x, particula.origen_y, 4, 4, pen) self.scene.addEllipse(particula.destino_x, particula.destino_y, 4, 4, pen) self.scene.addLine(particula.origen_x, particula.origen_y, particula.destino_x, particula.destino_y, pen) @Slot() def limpiar(self): self.scene.clear() @Slot() def mostrar_tabla(self): self.ui.tabla.setColumnCount(10) headers = [ "Id", "Origen en x", "Origen en y", "Destino en x", "Destino en y", "velocidad", "Red", "Green", "Blue", "Distancia" ] self.ui.tabla.setHorizontalHeaderLabels(headers) self.ui.tabla.setRowCount(len(self.particulas)) row = 0 for particula in self.particulas: id_widget = QTableWidgetItem(str(particula.id)) origen_x_widget = QTableWidgetItem(str(particula.origen_x)) origen_y_widget = QTableWidgetItem(str(particula.origen_y)) destino_x_widget = QTableWidgetItem(str(particula.destino_x)) destino_y_widget = QTableWidgetItem(str(particula.destino_y)) velocidad_widget = QTableWidgetItem(str(particula.velocidad)) red_widget = QTableWidgetItem(str(particula.red)) green_widget = QTableWidgetItem(str(particula.green)) blue_widget = QTableWidgetItem(str(particula.blue)) distancia_widget = QTableWidgetItem(str(particula.distancia)) self.ui.tabla.setItem(row, 0, id_widget) self.ui.tabla.setItem(row, 1, origen_x_widget) self.ui.tabla.setItem(row, 2, origen_y_widget) self.ui.tabla.setItem(row, 3, destino_x_widget) self.ui.tabla.setItem(row, 4, destino_y_widget) self.ui.tabla.setItem(row, 5, velocidad_widget) self.ui.tabla.setItem(row, 6, red_widget) self.ui.tabla.setItem(row, 7, green_widget) self.ui.tabla.setItem(row, 8, blue_widget) self.ui.tabla.setItem(row, 9, distancia_widget) row += 1 @Slot() def buscar_id(self): ID = self.ui.buscar_lineEdit.text() encontrado = False for particula in self.particulas: if ID == particula.id: self.ui.tabla.clear() self.ui.tabla.setRowCount(1) id_widget = QTableWidgetItem(str(particula.id)) origen_x_widget = QTableWidgetItem(str(particula.origen_x)) origen_y_widget = QTableWidgetItem(str(particula.origen_y)) destino_x_widget = QTableWidgetItem(str(particula.destino_x)) destino_y_widget = QTableWidgetItem(str(particula.destino_y)) velocidad_widget = QTableWidgetItem(str(particula.velocidad)) red_widget = QTableWidgetItem(str(particula.red)) green_widget = QTableWidgetItem(str(particula.green)) blue_widget = QTableWidgetItem(str(particula.blue)) distancia_widget = QTableWidgetItem(str(particula.distancia)) self.ui.tabla.setItem(0, 0, id_widget) self.ui.tabla.setItem(0, 1, origen_x_widget) self.ui.tabla.setItem(0, 2, origen_y_widget) self.ui.tabla.setItem(0, 3, destino_x_widget) self.ui.tabla.setItem(0, 4, destino_y_widget) self.ui.tabla.setItem(0, 5, velocidad_widget) self.ui.tabla.setItem(0, 6, red_widget) self.ui.tabla.setItem(0, 7, green_widget) self.ui.tabla.setItem(0, 8, blue_widget) self.ui.tabla.setItem(0, 9, distancia_widget) encontrado = True return if not encontrado: QMessageBox.warning( self, "Atención", f'La particula con la id "{ID}" no fue encontrada') @Slot() def action_abrir_archivo(self): ubicacion = QFileDialog.getOpenFileName(self, "Abrir archivo", ".", "JSON (*.json)")[0] if self.particulas.abrir(ubicacion): QMessageBox.information(self, "Éxito", "Se abrió el archivo" + ubicacion) else: QMessageBox.critical(self, "Error", "Error al abrir el archivo" + ubicacion) @Slot() def action_guardar_archivo(self): ubicacion = QFileDialog.getSaveFileName(self, "Guardar como", ".", "JSON (*.json)")[0] print(ubicacion) if self.particulas.guardar(ubicacion): QMessageBox.information(self, "Éxito", "Se pudo crear el archivo" + ubicacion) else: QMessageBox.critical(self, "Error", "No se pudo crear el archivo" + ubicacion) @Slot() def click_agregar_inicio(self): id = self.ui.id_lineEdit.text() origen_x = self.ui.origen_x_spinBox.value() origen_y = self.ui.origen_y_spinBox.value() destino_x = self.ui.destino_x_spinBox.value() destino_y = self.ui.destino_y_spinBox.value() velocidad = self.ui.velocidad_spinBox.value() red = self.ui.red_spinBox.value() green = self.ui.green_spinBox.value() blue = self.ui.blue_spinBox.value() particula = Particula(id, origen_x, origen_y, destino_x, destino_y, velocidad, red, green, blue) self.particulas.agregar_inicio(particula) @Slot() def click_agregar_final(self): id = self.ui.id_lineEdit.text() origen_x = self.ui.origen_x_spinBox.value() origen_y = self.ui.origen_y_spinBox.value() destino_x = self.ui.destino_x_spinBox.value() destino_y = self.ui.destino_y_spinBox.value() velocidad = self.ui.velocidad_spinBox.value() red = self.ui.red_spinBox.value() green = self.ui.green_spinBox.value() blue = self.ui.blue_spinBox.value() particula = Particula(id, origen_x, origen_y, destino_x, destino_y, velocidad, red, green, blue) self.particulas.agregar_final(particula) @Slot() def click_mostrar(self): self.ui.cuadro.clear() self.ui.cuadro.insertPlainText(str(self.particulas))
class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.particulas = Particulas() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.agregar_final_pushButton.clicked.connect(self.click_agregar) self.ui.agregar_inicio_pushButton.clicked.connect( self.click_agregar_inicio) self.ui.mostrar_pushButton.clicked.connect(self.click_mostrar) self.ui.actionAbrir.triggered.connect(self.click_abrir_archivo) self.ui.actionGuardar.triggered.connect(self.click_guardar_archivo) self.ui.mostrar_tabla_pushButton.clicked.connect(self.mostrar_tabla) self.ui.buscar_pushButton.clicked.connect(self.buscar_id) self.scene = QGraphicsScene() self.ui.graphicsView.setScene(self.scene) self.ui.dibujar_pushButton.clicked.connect(self.dibujar) self.ui.limpiar_pushButton.clicked.connect(self.limpiar) self.ui.ordenar_id_pushButton.clicked.connect(self.ordenar_id) self.ui.ordenar_distancia_pushButton.clicked.connect( self.ordenar_distancia) self.ui.ordenar_velocidad_pushButton.clicked.connect( self.ordenar_velocidad) self.ui.actionGrafo.triggered.connect(self.mostrar_grafos) self.ui.action_busqueda.triggered.connect(self.busqueda) @Slot() def busqueda(self): self.particulas.peso() self.ui.salida.clear() origenes = (int(self.ui.origenx_lineEdit.text()), int(self.ui.origeny_lineEdit.text())) recorrido = self.particulas.recorrido_profundidad(origenes) print("Profundidad") self.ui.salida.insertPlainText("Profundidad" + '\n') for i in recorrido: self.ui.salida.insertPlainText(str(i) + '\n') print(i) recorrido_2 = self.particulas.recorrido_amplitud(origenes) print("\nAmplitud") self.ui.salida.insertPlainText('\n' "Amplitud" + '\n') for i in recorrido_2: self.ui.salida.insertPlainText(str(i) + '\n') print(i) def wheelEvent(self, event): if event.delta() > 0: self.ui.graphicsView.scale(1.2, 1.2) else: self.ui.graphicsView.scale(0.8, 0.8) @Slot() def mostrar_grafos(self): self.ui.salida.clear() self.ui.salida.insertPlainText(self.particulas.mostrar_diccionario()) @Slot() def ordenar_id(self): self.particulas.ordenarid() @Slot() def ordenar_distancia(self): self.particulas.ordenardistancia() @Slot() def ordenar_velocidad(self): self.particulas.ordenarvelocidad() @Slot() def dibujar(self): for particula in self.particulas: pen = QPen() pen.setWidth(1) c_red = particula.red c_green = particula.green c_blue = particula.blue color = QColor(c_red, c_green, c_blue) pen.setColor(color) c_origenx = particula.origenx c_origeny = particula.origeny c_destinox = particula.destinox c_destinoy = particula.destinoy self.scene.addEllipse(c_origenx, c_origeny, .8, .8, pen) self.scene.addEllipse(c_destinox, c_destinoy, .8, .8, pen) self.scene.addLine(c_origenx, c_origeny, c_destinox, c_destinoy, pen) @Slot() def limpiar(self): self.scene.clear() @Slot() def buscar_id(self): ident = self.ui.buscar_lineEdit.text() encontrado = False for particula in self.particulas: if ident == str(particula.identificacion): self.ui.tabla.clear() self.ui.tabla.setRowCount(1) identificacion_widget = QTableWidgetItem( str(particula.identificacion)) origenx_widget = QTableWidgetItem(str(particula.origenx)) origeny_widget = QTableWidgetItem(str(particula.origeny)) destinox_widget = QTableWidgetItem(str(particula.destinox)) destinoy_widget = QTableWidgetItem(str(particula.destinoy)) velocidad_widget = QTableWidgetItem(str(particula.velocidad)) red_widget = QTableWidgetItem(str(particula.red)) blue_widget = QTableWidgetItem(str(particula.blue)) green_widget = QTableWidgetItem(str(particula.green)) d_widget = QTableWidgetItem(str(particula.d)) self.ui.tabla.setItem(0, 0, identificacion_widget) self.ui.tabla.setItem(0, 1, origenx_widget) self.ui.tabla.setItem(0, 2, origeny_widget) self.ui.tabla.setItem(0, 3, destinox_widget) self.ui.tabla.setItem(0, 4, destinoy_widget) self.ui.tabla.setItem(0, 5, velocidad_widget) self.ui.tabla.setItem(0, 6, red_widget) self.ui.tabla.setItem(0, 7, blue_widget) self.ui.tabla.setItem(0, 8, green_widget) self.ui.tabla.setItem(0, 9, d_widget) encontrado = True return if not encontrado: QMessageBox.warning( self, "Atención", f'La particula con el id"{ident}"no fue encontrada') @Slot() def mostrar_tabla(self): self.ui.tabla.setColumnCount(10) headers = [ "ID", "Origen en x", "Origen en y", "Destino en x", "Destino en y", "Velocidad", "Red", "Blue", "Green", "Distancia" ] self.ui.tabla.setHorizontalHeaderLabels(headers) self.ui.tabla.setRowCount(len(self.particulas)) row = 0 for particula in self.particulas: identificacion_widget = QTableWidgetItem( str(particula.identificacion)) origenx_widget = QTableWidgetItem(str(particula.origenx)) origeny_widget = QTableWidgetItem(str(particula.origeny)) destinox_widget = QTableWidgetItem(str(particula.destinox)) destinoy_widget = QTableWidgetItem(str(particula.destinoy)) velocidad_widget = QTableWidgetItem(str(particula.velocidad)) red_widget = QTableWidgetItem(str(particula.red)) blue_widget = QTableWidgetItem(str(particula.blue)) green_widget = QTableWidgetItem(str(particula.green)) d_widget = QTableWidgetItem(str(particula.d)) self.ui.tabla.setItem(row, 0, identificacion_widget) self.ui.tabla.setItem(row, 1, origenx_widget) self.ui.tabla.setItem(row, 2, origeny_widget) self.ui.tabla.setItem(row, 3, destinox_widget) self.ui.tabla.setItem(row, 4, destinoy_widget) self.ui.tabla.setItem(row, 5, velocidad_widget) self.ui.tabla.setItem(row, 6, red_widget) self.ui.tabla.setItem(row, 7, blue_widget) self.ui.tabla.setItem(row, 8, green_widget) self.ui.tabla.setItem(row, 9, d_widget) row += 1 @Slot() def click_abrir_archivo(self): ubicacion = QFileDialog.getOpenFileName(self, 'Abrir Archivo', '.', 'JSON (*.json)')[0] if self.particulas.abrir(ubicacion): QMessageBox.information(self, "Éxito", "Se abrió el archivo" + ubicacion) else: QMessageBox.critical(self, "Error", "Error al abrir el archivo" + ubicacion) @Slot() def click_guardar_archivo(self): ubicacion = QFileDialog.getSaveFileName(self, 'Guadar Archivo', '.', 'JSON(*.json)')[0] print(ubicacion) if self.particulas.guardar(ubicacion): QMessageBox.information(self, "Éxito", "Se pudo crear el archivo" + ubicacion) else: QMessageBox.critical(self, "Error", "No se pudo crear el archivo" + ubicacion) @Slot() def click_mostrar(self): self.ui.salida.clear() self.ui.salida.insertPlainText(str(self.particulas)) @Slot() def click_agregar(self): identificacion = int(self.ui.id_lineEdit.text()) origenx = int(self.ui.origenx_lineEdit.text()) origeny = int(self.ui.origeny_lineEdit.text()) destinox = int(self.ui.destinox_lineEdit.text()) destinoy = int(self.ui.destinoy_lineEdit.text()) velocidad = int(self.ui.velocidad_lineEdit.text()) red = int(self.ui.red_lineEdit.text()) green = int(self.ui.green_lineEdit.text()) blue = int(self.ui.blue_lineEdit.text()) particula = Particula(identificacion, origenx, origeny, destinox, destinoy, velocidad, red, green, blue) self.particulas.agregar_final(particula) @Slot() def click_agregar_inicio(self): identificacion = int(self.ui.id_lineEdit.text()) origenx = int(self.ui.origenx_lineEdit.text()) origeny = int(self.ui.origeny_lineEdit.text()) destinox = int(self.ui.destinox_lineEdit.text()) destinoy = int(self.ui.destinoy_lineEdit.text()) velocidad = int(self.ui.velocidad_lineEdit.text()) red = int(self.ui.red_lineEdit.text()) green = int(self.ui.green_lineEdit.text()) blue = int(self.ui.blue_lineEdit.text()) particula = Particula(identificacion, origenx, origeny, destinox, destinoy, velocidad, red, green, blue) self.particulas.agregar_inicio(particula)
class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.particulas = Particulas() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.agregar_final_pushButton.clicked.connect( self.click_agregar_final) self.ui.agregar_inicio_pushButton.clicked.connect( self.click_agregar_inicio) self.ui.mostrar_pushButton.clicked.connect(self.click_mostrar) self.ui.actionAbrir.triggered.connect(self.action_abrir_archivo) self.ui.actionGuardar.triggered.connect(self.action_guardar_archivo) self.ui.mostrar_tabla_pushButton.clicked.connect(self.mostrar_tabla) self.ui.buscar_pushButton.clicked.connect(self.buscar_id) self.ui.dibujar_pushbutton.clicked.connect(self.dibujar) self.ui.limpiar_pushbutton.clicked.connect(self.limpiar) self.scene = QGraphicsScene() self.ui.graphicsView.setScene(self.scene) self.ui.ordenID_pushButton.clicked.connect(self.orden_ID) self.ui.orden_distancia_pushButton.clicked.connect( self.orden_Distancia) self.ui.orden_velocidad_pushButton.clicked.connect( self.orden_Velocidad) self.ui.mostrar_grafo_pushbutton.clicked.connect(self.mostrar_Grafo) self.grafo = QGraphicsScene() self.ui.grafica_grafo.setScene(self.grafo) self.ui.busqueda_ap_pushButton.clicked.connect(self.busquedas) def wheelEvent(self, event): if event.delta() > 0: self.ui.graphicsView.scale(1.2, 1.2) else: self.ui.graphicsView.scale(0.8, 0.8) @Slot() def busquedas(self): grafo = dict() for particula in self.particulas: or_x = str(particula.origenx).upper() or_y = str(particula.origeny).upper() de_x = str(particula.destinox).upper() de_y = str(particula.destinoy).upper() peso = int(particula.distancia) origen = or_x, or_y destino = de_x, de_y arista_o_d = (de_x, de_y, peso) arista_d_o = (or_x, or_y, peso) if origen in grafo: grafo[origen].append(arista_o_d) else: grafo[origen] = [arista_o_d] if destino in grafo: grafo[destino].append(arista_d_o) else: grafo[destino] = [arista_d_o] origenx = self.ui.Origenx_busqueda_lineEdit.text() origeny = self.ui.Origeny_busqueda_lineEdit.text() origen = origenx, origeny if self.ui.Origenx_busqueda_lineEdit.text( ) == "" or self.ui.Origeny_busqueda_lineEdit.text() == "": QMessageBox.warning(self, "Atencion", "Alguno de los campos esta vacio.") else: print("Profundidad: ") print(busquedaProfundidad(grafo, origen)) print("Amplitud: ") print(busquedaAmplitud(grafo, origen)) @Slot() def mostrar_Grafo(self): grafo = dict() for particula in self.particulas: or_x = str(particula.origenx).upper() or_y = str(particula.origeny).upper() de_x = str(particula.destinox).upper() de_y = str(particula.destinoy).upper() peso = int(particula.distancia) origen = or_x, or_y destino = de_x, de_y arista_o_d = (de_x, de_y, peso) arista_d_o = (or_x, or_y, peso) if origen in grafo: grafo[origen].append(arista_o_d) else: grafo[origen] = [arista_o_d] if destino in grafo: grafo[destino].append(arista_d_o) else: grafo[destino] = [arista_d_o] strn = pformat(grafo, width=40, indent=1) for particula in self.particulas: pen = QPen() pen.setWidth(2) color = QColor(particula.red, particula.green, particula.blue) pen.setColor(color) self.grafo.addEllipse(particula.origenx, particula.origeny, 3, 3, pen) self.grafo.addEllipse(particula.destinox, particula.destinoy, 3, 3, pen) self.grafo.addLine(particula.origenx + 3, particula.origeny + 3, particula.destinox, particula.destinoy, pen) self.ui.text_edit_grafo.clear() self.ui.text_edit_grafo.insertPlainText(strn) @Slot() def orden_ID(self): self.particulas.orden_id() @Slot() def orden_Distancia(self): self.particulas.orden_distancia() @Slot() def orden_Velocidad(self): self.particulas.orden_velocidad() @Slot() def dibujar(self): pen = QPen() pen.setWidth(2) for particula in self.particulas: color = QColor(particula.red, particula.green, particula.blue) pen.setColor(color) self.scene.addEllipse(particula.origenx, particula.origeny, 3, 3, pen) self.scene.addEllipse(particula.destinox, particula.destinoy, 3, 3, pen) self.scene.addLine(particula.origenx, particula.origeny, particula.destinox, particula.destinoy, pen) @Slot() def limpiar(self): self.scene.clear() @Slot() def buscar_id(self): id_buscado = self.ui.busca_lineEdit.text() encontrado = False for particula in self.particulas: if id_buscado == particula.id: self.ui.tableWidget.clear() self.ui.tableWidget.setRowCount(1) self.ui.tableWidget.setColumnCount(10) headers = [ "Id", "Origen x", "Origen y", "Destino x", "Destino y", "Velocidad", "Red", "Green", "Blue", "Distancia" ] self.ui.tableWidget.setHorizontalHeaderLabels(headers) id_widget = QTableWidgetItem(particula.id) origenx_widget = QTableWidgetItem(str(particula.origenx)) origeny_widget = QTableWidgetItem(str(particula.origeny)) destinox_widget = QTableWidgetItem(str(particula.destinox)) destinoy_widget = QTableWidgetItem(str(particula.destinoy)) velocidad_widget = QTableWidgetItem(str(particula.velocidad)) red_widget = QTableWidgetItem(str(particula.red)) green_widget = QTableWidgetItem(str(particula.green)) blue_widget = QTableWidgetItem(str(particula.blue)) distancia_widget = QTableWidgetItem(str(particula.distancia)) self.ui.tableWidget.setItem(0, 0, id_widget) self.ui.tableWidget.setItem(0, 1, origenx_widget) self.ui.tableWidget.setItem(0, 2, origeny_widget) self.ui.tableWidget.setItem(0, 3, destinox_widget) self.ui.tableWidget.setItem(0, 4, destinoy_widget) self.ui.tableWidget.setItem(0, 5, velocidad_widget) self.ui.tableWidget.setItem(0, 6, red_widget) self.ui.tableWidget.setItem(0, 7, green_widget) self.ui.tableWidget.setItem(0, 8, blue_widget) self.ui.tableWidget.setItem(0, 9, distancia_widget) encontrado = True return if not encontrado: self.ui.tableWidget.clear() QMessageBox.warning( self, "Atencion", f'La particula con el id "{id_buscado}" no fue encontrado') @Slot() def mostrar_tabla(self): self.ui.tableWidget.setColumnCount(10) headers = [ "Id", "Origen x", "Origen y", "Destino x", "Destino y", "Velocidad", "Red", "Green", "Blue", "Distancia" ] self.ui.tableWidget.setHorizontalHeaderLabels(headers) self.ui.tableWidget.setRowCount(len(self.particulas)) row = 0 for particula in self.particulas: id_widget = QTableWidgetItem(particula.id) origenx_widget = QTableWidgetItem(str(particula.origenx)) origeny_widget = QTableWidgetItem(str(particula.origeny)) destinox_widget = QTableWidgetItem(str(particula.destinox)) destinoy_widget = QTableWidgetItem(str(particula.destinoy)) velocidad_widget = QTableWidgetItem(str(particula.velocidad)) red_widget = QTableWidgetItem(str(particula.red)) green_widget = QTableWidgetItem(str(particula.green)) blue_widget = QTableWidgetItem(str(particula.blue)) distancia_widget = QTableWidgetItem(str(particula.distancia)) self.ui.tableWidget.setItem(row, 0, id_widget) self.ui.tableWidget.setItem(row, 1, origenx_widget) self.ui.tableWidget.setItem(row, 2, origeny_widget) self.ui.tableWidget.setItem(row, 3, destinox_widget) self.ui.tableWidget.setItem(row, 4, destinoy_widget) self.ui.tableWidget.setItem(row, 5, velocidad_widget) self.ui.tableWidget.setItem(row, 6, red_widget) self.ui.tableWidget.setItem(row, 7, green_widget) self.ui.tableWidget.setItem(row, 8, blue_widget) self.ui.tableWidget.setItem(row, 9, distancia_widget) row += 1 @Slot() def action_abrir_archivo(self): # print('abrir_archivo') ubicacion = QFileDialog.getOpenFileName(self, 'Abrir Archivo', '.', 'JSON (*.json)')[0] if self.particulas.abrir(ubicacion): QMessageBox.information(self, "Exito", "Se abrio el archivo " + ubicacion) else: QMessageBox.critical(self, "Error", "Error al abrir el archivo" + ubicacion) @Slot() def action_guardar_archivo(self): # print('guardar archivo') ubicacion = QFileDialog.getSaveFileName(self, 'Guardar Archivo', '.', 'JSON (*.json)')[0] print(ubicacion) if self.particulas.guardar(ubicacion): QMessageBox.information(self, "Exito", "Se creo el archivo " + ubicacion) else: QMessageBox.critical(self, "Error", "No se pudo crear el archivo" + ubicacion) @Slot() def click_agregar_final(self): id = self.ui.id_lineEdit.text() origen_x = self.ui.origen_x_spinBox.value() origen_y = self.ui.origen_y_spinBox.value() destino_x = self.ui.destino_x_spinBox.value() destino_y = self.ui.destino_y_spinBox.value() velocidad = self.ui.velocidad_lineEdit.text() red = self.ui.red_spinBox.value() green = self.ui.green_spinBox.value() blue = self.ui.blue_spinBox.value() particula = Particula(id, origen_x, origen_y, destino_x, destino_y, velocidad, red, green, blue) self.particulas.agregar_final(particula) @Slot() def click_agregar_inicio(self): id = self.ui.id_lineEdit.text() origen_x = self.ui.origen_x_spinBox.value() origen_y = self.ui.origen_y_spinBox.value() destino_x = self.ui.destino_x_spinBox.value() destino_y = self.ui.destino_y_spinBox.value() velocidad = self.ui.velocidad_lineEdit.text() red = self.ui.red_spinBox.value() green = self.ui.green_spinBox.value() blue = self.ui.blue_spinBox.value() particula = Particula(id, origen_x, origen_y, destino_x, destino_y, velocidad, red, green, blue) self.particulas.agregar_inicio(particula) @Slot() def click_mostrar(self): self.ui.salida.clear() self.ui.salida.insertPlainText(str(self.particulas))
class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.particulas = Particulas() self.grafo = Grafo() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.finalcap.clicked.connect(self.click_agregarfinal) self.ui.Iniciocap.clicked.connect(self.click_agregarinicio) self.ui.Mostrar.clicked.connect(self.click_mostrar) self.ui.OrigenX.valueChanged.connect(self.setValue) self.ui.OrigenY.valueChanged.connect(self.setValue) self.ui.DestinoX.valueChanged.connect(self.setValue) self.ui.DestinoY.valueChanged.connect(self.setValue) self.ui.Verde.valueChanged.connect(self.setValue) self.ui.Rojo.valueChanged.connect(self.setValue) self.ui.Azul.valueChanged.connect(self.setValue) self.ui.actionAbrir.triggered.connect(self.action_abrir_archivo) self.ui.actionGuardar.triggered.connect(self.action_guardar_archivo) self.ui.actionPor_ID.triggered.connect(self.action_ordenarid) self.ui.actionVelocidad.triggered.connect(self.action_ordenarvelocidad) self.ui.actionDistancia.triggered.connect(self.action_ordenardistancia) self.ui.actionGrafo.triggered.connect(self.action_transformaragrafo) self.ui.Mostrartabla_push.clicked.connect(self.Mostrar_tabla) self.ui.Buscar_push.clicked.connect(self.buscar_id) self.ui.Dibujarpush.clicked.connect(self.dibujar) self.ui.Limpiarpush.clicked.connect(self.limpiar) self.scene = QGraphicsScene() self.ui.graphicsView.setScene(self.scene) def wheelEvent(self, event): if event.delta() > 0: self.ui.graphicsView.scale(1.2, 1.2) else: self.ui.graphicsView.scale(0.8, 0.8) @Slot() def Mostrar_tabla(self): self.ui.Tabla.setColumnCount(10) headers = ["Id", "origen_x", "origen_y", "destino_x", "destino_y", "velocidad","rojo", "verde","azul", "distancia"] self.ui.Tabla.setHorizontalHeaderLabels(headers) self.ui.Tabla.setRowCount(len(self.particulas)) row = 0 for particula in self.particulas: Id_widget = QTableWidgetItem(str(particula.Id)) origen_x_widget = QTableWidgetItem(str(particula.origen_x)) origen_y_widget = QTableWidgetItem(str(particula. origen_y)) destino_x_widget = QTableWidgetItem(str(particula.destino_x)) destino_y_widget = QTableWidgetItem(str(particula.destino_y)) velocidad_widget = QTableWidgetItem(str(particula.velocidad)) rojo_widget = QTableWidgetItem(str(particula.rojo)) verde_widget = QTableWidgetItem(str(particula.verde)) azul_widget = QTableWidgetItem(str(particula.azul)) distancia_widget = QTableWidgetItem(str(particula.distancia)) self.ui.Tabla.setItem(row, 0, Id_widget) self.ui.Tabla.setItem(row, 1, origen_x_widget) self.ui.Tabla.setItem(row, 2, origen_y_widget) self.ui.Tabla.setItem(row, 3, destino_x_widget) self.ui.Tabla.setItem(row, 4, destino_y_widget) self.ui.Tabla.setItem(row, 5, velocidad_widget) self.ui.Tabla.setItem(row, 6, rojo_widget) self.ui.Tabla.setItem(row, 7, verde_widget) self.ui.Tabla.setItem(row, 8, azul_widget) self.ui.Tabla.setItem(row, 9, distancia_widget) row += 1 @Slot() def buscar_id(self): headers = ["Id", "origen_x", "origen_y", "destino_x", "destino_y", "velocidad","rojo", "verde","azul", "distancia"] Id = self.ui.LineadeBusqueda.text() encontrado = False for particula in self.particulas: if Id == str(particula.Id): self.ui.Tabla.clear() self.ui.Tabla.setRowCount(1) self.ui.Tabla.setColumnCount(10) self.ui.Tabla.setHorizontalHeaderLabels(headers) Id_widget = QTableWidgetItem(str(particula.Id)) origen_x_widget = QTableWidgetItem(str(particula.origen_x)) origen_y_widget = QTableWidgetItem(str(particula. origen_y)) destino_x_widget = QTableWidgetItem(str(particula.destino_x)) destino_y_widget = QTableWidgetItem(str(particula.destino_y)) velocidad_widget = QTableWidgetItem(str(particula.velocidad)) rojo_widget = QTableWidgetItem(str(particula.rojo)) verde_widget = QTableWidgetItem(str(particula.verde)) azul_widget = QTableWidgetItem(str(particula.azul)) distancia_widget = QTableWidgetItem(str(particula.distancia)) self.ui.Tabla.setItem(0, 0, Id_widget) self.ui.Tabla.setItem(0, 1, origen_x_widget) self.ui.Tabla.setItem(0, 2, origen_y_widget) self.ui.Tabla.setItem(0, 3, destino_x_widget) self.ui.Tabla.setItem(0, 4, destino_y_widget) self.ui.Tabla.setItem(0, 5, velocidad_widget) self.ui.Tabla.setItem(0, 6, rojo_widget) self.ui.Tabla.setItem(0, 7, verde_widget) self.ui.Tabla.setItem(0, 8, azul_widget) self.ui.Tabla.setItem(0, 9, distancia_widget) encontrado = True return if not encontrado: QMessageBox.warning( self, "Atencion", f'La particula con ID = "{Id}" no fue encontrado' ) @Slot() def action_abrir_archivo(self): # print('Abrir Archivo') ubicacion = QFileDialog.getOpenFileName( self, 'Abrir Archivo', '.', 'JSON (*.json)' )[0] if self.particulas.abrir(ubicacion): QMessageBox.information( self, "Exito", "Se abrió el archivo " + ubicacion ) else: QMessageBox.critical( self, "Error", "Error al abrir el archivo " + ubicacion ) @Slot() def action_guardar_archivo(self): #print('Guardar Archivo') ubicacion = QFileDialog.getSaveFileName( self, 'Guardar Archivo', '.', 'JSON (*.json)' )[0] print(ubicacion) if self.particulas.guardar(ubicacion): QMessageBox.information( self, "Exito", "Se pudo crear el archivo " + ubicacion ) else: QMessageBox.critical( self, "Error", "No se pudo crear el archivo " + ubicacion ) @Slot() def click_agregarfinal(self): Id = self.ui.ID.value() Ox = self.ui.OrigenX.value() Oy = self.ui.OrigenY.value() Dx = self.ui.DestinoX.value() Dy = self.ui.DestinoY.value() Vel = self.ui.Velocidad.value() Red = self.ui.Rojo.value() Green = self.ui.Verde.value() Blue = self.ui.Azul.value() particula = Particula(Id,Ox,Oy,Dx,Dy,Vel,Red,Green,Blue) self.particulas.agregar_final(particula) #print(particula) #self.ui.salida.insertPlainText(str(IDD)+str(Ox)+str(Oy)+str(Dx)+str(Dy)+str(Vel)+str(Red)+str(Blue)+str(Green)) @Slot() def click_agregarinicio(self): Id = self.ui.ID.value() Ox = self.ui.OrigenX.value() Oy = self.ui.OrigenY.value() Dx = self.ui.DestinoX.value() Dy = self.ui.DestinoY.value() Vel = self.ui.Velocidad.value() Red = self.ui.Rojo.value() Green = self.ui.Verde.value() Blue = self.ui.Azul.value() particula = Particula(Id,Ox,Oy,Dx,Dy,Vel,Red,Blue,Green) self.particulas.agregar_inicio(particula) #print(IDD,Ox,Oy,Dx,Dy,Vel,Red,Blue,Green) #self.ui.salida.insertPlainText(str(IDD)+str(Ox)+str(Oy)+str(Dx)+str(Dy)+str(Vel)+str(Red)+str(Blue)+str(Green)) @Slot() def click_mostrar(self): # self.particulas.mostrar() self.ui.salida.clear() self.ui.salida.insertPlainText(str(self.particulas)) @Slot() def setValue(self,valor): self.ui.NumAct.clear() self.ui.NumAct.insertPlainText(str(valor)) @Slot() def dibujar(self): pen = QPen() pen.setWidth(3) for particula in self.particulas: r= particula.rojo g= particula.verde b= particula.azul color = QColor(r, g, b) pen.setColor(color) pox= particula.origen_x poy= particula.origen_y pdx= particula.destino_x pdy= particula.destino_y self.scene.addEllipse(pox, poy, 3, 3, pen) self.scene.addEllipse(pdx, pdy, 3, 3, pen) self.scene.addLine(pox+3, poy+1, pdx+2, pdy+1, pen) @Slot() def limpiar(self): self.scene.clear() @Slot() def action_ordenarid(self): self.particulas.__sortid__() @Slot() def action_ordenarvelocidad(self): self.particulas.__sortvel__() @Slot() def action_ordenardistancia(self): self.particulas.__sortdis__() @Slot() def action_transformaragrafo(self): for particula in self.particulas: self.grafo.__Add__(particula.origen_x,particula.origen_y,particula.destino_x, particula.destino_y) self.grafo.Mostrargrafo() self.ui.salida.clear() self.ui.salida.insertPlainText(str(pformat(self.grafo.Grafo, width=40, indent=1)))
class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.particulas = Particulas() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.agregar_inicio_pushButton.clicked.connect( self.click_agregar_inicio) self.ui.agregar_final_pushButton.clicked.connect( self.click_agregar_final) self.ui.mostrar_pushButton.clicked.connect(self.click_mostrar) self.ui.actionAbrir.triggered.connect(self.action_abrir_archivo) self.ui.actionGuardar.triggered.connect(self.action_guardar_archivo) @Slot() def action_abrir_archivo(self): ubicacion = QFileDialog.getOpenFileName(self, "Abrir archivo", ".", "JSON (*.json)")[0] if self.particulas.abrir(ubicacion): QMessageBox.information(self, "Éxito", "Se abrió el archivo" + ubicacion) else: QMessageBox.critical(self, "Error", "Error al abrir el archivo" + ubicacion) @Slot() def action_guardar_archivo(self): ubicacion = QFileDialog.getSaveFileName(self, "Guardar archivo", ".", "JSON (*.json)")[0] print(ubicacion) if self.particulas.guardar(ubicacion): QMessageBox.information(self, "Éxito", "Se pudo crear el archivo" + ubicacion) else: QMessageBox.critical(self, "Error", "No se pudo crear el archivo" + ubicacion) @Slot() def click_agregar_inicio(self): id = self.ui.id_lineEdit.text() origen_x = self.ui.origen_x_spinBox.value() origen_y = self.ui.origen_y_spinBox.value() destino_x = self.ui.destino_x_spinBox.value() destino_y = self.ui.destino_y_spinBox.value() velocidad = self.ui.velocidad_spinBox.value() red = self.ui.red_spinBox.value() green = self.ui.green_spinBox.value() blue = self.ui.blue_spinBox.value() particula = Particula(id, origen_x, origen_y, destino_x, destino_y, velocidad, red, green, blue) self.particulas.agregar_inicio(particula) @Slot() def click_agregar_final(self): id = self.ui.id_lineEdit.text() origen_x = self.ui.origen_x_spinBox.value() origen_y = self.ui.origen_y_spinBox.value() destino_x = self.ui.destino_x_spinBox.value() destino_y = self.ui.destino_y_spinBox.value() velocidad = self.ui.velocidad_spinBox.value() red = self.ui.red_spinBox.value() green = self.ui.green_spinBox.value() blue = self.ui.blue_spinBox.value() particula = Particula(id, origen_x, origen_y, destino_x, destino_y, velocidad, red, green, blue) self.particulas.agregar_final(particula) @Slot() def click_mostrar(self): self.ui.cuadro.clear() self.ui.cuadro.insertPlainText(str(self.particulas))
class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.particulas = Particulas() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.finalcap.clicked.connect(self.click_agregarfinal) self.ui.Iniciocap.clicked.connect(self.click_agregarinicio) self.ui.Mostrar.clicked.connect(self.click_mostrar) self.ui.OrigenX.valueChanged.connect(self.setValue) self.ui.OrigenY.valueChanged.connect(self.setValue) self.ui.DestinoX.valueChanged.connect(self.setValue) self.ui.DestinoY.valueChanged.connect(self.setValue) self.ui.Verde.valueChanged.connect(self.setValue) self.ui.Rojo.valueChanged.connect(self.setValue) self.ui.Azul.valueChanged.connect(self.setValue) self.ui.actionAbrir.triggered.connect(self.action_abrir_archivo) self.ui.actionGuardar.triggered.connect(self.action_guardar_archivo) self.ui.Mostrartabla_push.clicked.connect(self.Mostrar_tabla) self.ui.Buscar_push.clicked.connect(self.buscar_id) @Slot() def Mostrar_tabla(self): self.ui.Tabla.setColumnCount(10) headers = [ "Id", "origen_x", "origen_y", "destino_x", "destino_y", "velocidad", "rojo", "verde", "azul", "distancia" ] self.ui.Tabla.setHorizontalHeaderLabels(headers) self.ui.Tabla.setRowCount(len(self.particulas)) row = 0 for particula in self.particulas: Id_widget = QTableWidgetItem(str(particula.Id)) origen_x_widget = QTableWidgetItem(str(particula.origen_x)) origen_y_widget = QTableWidgetItem(str(particula.origen_y)) destino_x_widget = QTableWidgetItem(str(particula.destino_x)) destino_y_widget = QTableWidgetItem(str(particula.destino_y)) velocidad_widget = QTableWidgetItem(str(particula.velocidad)) rojo_widget = QTableWidgetItem(str(particula.rojo)) verde_widget = QTableWidgetItem(str(particula.Id)) azul_widget = QTableWidgetItem(str(particula.azul)) distancia_widget = QTableWidgetItem(str(particula.distancia)) self.ui.Tabla.setItem(row, 0, Id_widget) self.ui.Tabla.setItem(row, 1, origen_x_widget) self.ui.Tabla.setItem(row, 2, origen_y_widget) self.ui.Tabla.setItem(row, 3, destino_x_widget) self.ui.Tabla.setItem(row, 4, destino_y_widget) self.ui.Tabla.setItem(row, 5, velocidad_widget) self.ui.Tabla.setItem(row, 6, rojo_widget) self.ui.Tabla.setItem(row, 7, verde_widget) self.ui.Tabla.setItem(row, 8, azul_widget) self.ui.Tabla.setItem(row, 9, distancia_widget) row += 1 @Slot() def buscar_id(self): headers = [ "Id", "origen_x", "origen_y", "destino_x", "destino_y", "velocidad", "rojo", "verde", "azul", "distancia" ] Id = self.ui.LineadeBusqueda.text() encontrado = False for particula in self.particulas: if Id == str(particula.Id): self.ui.Tabla.clear() self.ui.Tabla.setRowCount(1) self.ui.Tabla.setColumnCount(10) self.ui.Tabla.setHorizontalHeaderLabels(headers) Id_widget = QTableWidgetItem(str(particula.Id)) origen_x_widget = QTableWidgetItem(str(particula.origen_x)) origen_y_widget = QTableWidgetItem(str(particula.origen_y)) destino_x_widget = QTableWidgetItem(str(particula.destino_x)) destino_y_widget = QTableWidgetItem(str(particula.destino_y)) velocidad_widget = QTableWidgetItem(str(particula.velocidad)) rojo_widget = QTableWidgetItem(str(particula.rojo)) verde_widget = QTableWidgetItem(str(particula.Id)) azul_widget = QTableWidgetItem(str(particula.azul)) distancia_widget = QTableWidgetItem(str(particula.distancia)) self.ui.Tabla.setItem(0, 0, Id_widget) self.ui.Tabla.setItem(0, 1, origen_x_widget) self.ui.Tabla.setItem(0, 2, origen_y_widget) self.ui.Tabla.setItem(0, 3, destino_x_widget) self.ui.Tabla.setItem(0, 4, destino_y_widget) self.ui.Tabla.setItem(0, 5, velocidad_widget) self.ui.Tabla.setItem(0, 6, rojo_widget) self.ui.Tabla.setItem(0, 7, verde_widget) self.ui.Tabla.setItem(0, 8, azul_widget) self.ui.Tabla.setItem(0, 9, distancia_widget) encontrado = True return if not encontrado: QMessageBox.warning( self, "Atencion", f'La particula con ID = "{Id}" no fue encontrado') @Slot() def action_abrir_archivo(self): # print('Abrir Archivo') ubicacion = QFileDialog.getOpenFileName(self, 'Abrir Archivo', '.', 'JSON (*.json)')[0] if self.particulas.abrir(ubicacion): QMessageBox.information(self, "Exito", "Se abrió el archivo " + ubicacion) else: QMessageBox.critical(self, "Error", "Error al abrir el archivo " + ubicacion) @Slot() def action_guardar_archivo(self): #print('Guardar Archivo') ubicacion = QFileDialog.getSaveFileName(self, 'Guardar Archivo', '.', 'JSON (*.json)')[0] print(ubicacion) if self.particulas.guardar(ubicacion): QMessageBox.information(self, "Exito", "Se pudo crear el archivo " + ubicacion) else: QMessageBox.critical(self, "Error", "No se pudo crear el archivo " + ubicacion) @Slot() def click_agregarfinal(self): Id = self.ui.ID.value() Ox = self.ui.OrigenX.value() Oy = self.ui.OrigenY.value() Dx = self.ui.DestinoX.value() Dy = self.ui.DestinoY.value() Vel = self.ui.Velocidad.value() Red = self.ui.Rojo.value() Blue = self.ui.Azul.value() Green = self.ui.Verde.value() particula = Particula(Id, Ox, Oy, Dx, Dy, Vel, Red, Blue, Green) self.particulas.agregar_final(particula) #print(particula) #self.ui.salida.insertPlainText(str(IDD)+str(Ox)+str(Oy)+str(Dx)+str(Dy)+str(Vel)+str(Red)+str(Blue)+str(Green)) @Slot() def click_agregarinicio(self): Id = self.ui.ID.value() Ox = self.ui.OrigenX.value() Oy = self.ui.OrigenY.value() Dx = self.ui.DestinoX.value() Dy = self.ui.DestinoY.value() Vel = self.ui.Velocidad.value() Red = self.ui.Rojo.value() Blue = self.ui.Azul.value() Green = self.ui.Verde.value() particula = Particula(Id, Ox, Oy, Dx, Dy, Vel, Red, Blue, Green) self.particulas.agregar_inicio(particula) #print(IDD,Ox,Oy,Dx,Dy,Vel,Red,Blue,Green) #self.ui.salida.insertPlainText(str(IDD)+str(Ox)+str(Oy)+str(Dx)+str(Dy)+str(Vel)+str(Red)+str(Blue)+str(Green)) @Slot() def click_mostrar(self): # self.particulas.mostrar() self.ui.salida.clear() self.ui.salida.insertPlainText(str(self.particulas)) @Slot() def setValue(self, valor): self.ui.NumAct.clear() self.ui.NumAct.insertPlainText(str(valor))