def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) self.ui = Ui_Form() self.ui.setupUi(self) self.cargar_directores() # self.show() self.dialogo = Controlador_form_crear_director() self.editar = Editar.Editar() self.ui.cantidad_peliculas_dirigidas.setText("") self.ui.label_numero_peli.setText("Cantidad de peliculas: ") self.signals()
class Director(QtGui.QMainWindow): table_columns = ( (u"ID", 0), (u"Nombre", 150), (u"Pais", 150), (u"Fecha nacimiento", 150), (u"Fecha defunción", 150), ) def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) self.ui = Ui_Form() self.ui.setupUi(self) self.cargar_directores() # self.show() self.dialogo = Controlador_form_crear_director() self.editar = Editar.Editar() self.ui.cantidad_peliculas_dirigidas.setText("") self.ui.label_numero_peli.setText("Cantidad de peliculas: ") self.signals() def signals(self): """ Conecta la base de datos al codigo """ self.ui.grilla.clicked.connect(self.mostrar_imagen) self.ui.eliminarDirector.clicked.connect(self.elimina) self.ui.agregarDirector.clicked.connect(self.mostrar_ventana_agregar) self.dialogo.ui.crear_boton.clicked.connect(self.cargar_directores) self.editar.ui.guardar_boton.clicked.connect(self.cargar_directores) self.ui.editarDirector.clicked.connect(self.editar_director) def cargar_directores(self): """ Carga directores de la base de datos """ directores = Modelo_director.obtener_directores() filas = len(directores) data = QtGui.QStandardItemModel(filas, len(self.table_columns)) self.ui.grilla.setModel(data) self.ui.grilla.horizontalHeader().setResizeMode(0, self.ui.grilla.horizontalHeader().Stretch) for col, h in enumerate(self.table_columns): data.setHeaderData(col, QtCore.Qt.Horizontal, h[0]) self.ui.grilla.setColumnWidth(col, h[1]) for i, dire in enumerate(directores): filas = [dire["id"], dire["nombre"], dire["pais"], dire["fecha_nacimiento"], dire["fecha_defuncion"]] for j, field in enumerate(filas): index = data.index(i, j, QtCore.QModelIndex()) data.setData(index, field) # Parametros ocultos data.item(i).dire = dire def mostrar_imagen(self, index): """ Muestra la imagen del director """ index = index if index is not None else self.ui.grilla.currentIndex() if index.row() == -1: QtGui.QMessageBox.information(None, u"Información", u"Por favor seleccione una orden de trabajo.") return data = self.ui.grilla.model() dire = data.item(index.row(), 0).dire peliculas = self.sum_peliculas(dire["id"]) peliculas = str(peliculas) self.ui.cantidad_peliculas_dirigidas.setText(peliculas) img = QtGui.QPixmap(str(dire["imagen"])) # print(str(dire['imagen'])[1:]) self.ui.imagen.setPixmap(img) def sum_peliculas(self, id_p): """ recorre la query como diccionario para luego contar los actores """ c = 0 directores = Modelo_director.contar_peliculas(id_p) for i, peli in enumerate(directores): c = c + 1 return c def elimina(self): """ Elimina un director de la base de datos """ index = self.ui.grilla.currentIndex() data = self.ui.grilla.model() dire = data.item(index.row(), 0).dire iD = str(dire["id"]) resp = QtGui.QMessageBox.question( self, "Pregunta", "Desea realmente eliminar el director seleccionado?", QtGui.QMessageBox.Ok, QtGui.QMessageBox.No, ) if resp == QtGui.QMessageBox.Ok: Modelo_director.borrar(iD) self.cargar_directores() def mostrar_ventana_agregar(self): self.dialogo.show() def editar_director(self): """ Permite editar un director de la base de datos """ index = self.ui.grilla.currentIndex() data = self.ui.grilla.model() dire = data.item(index.row(), 0).dire id = dire["id"] print(id) self.editar.setID(id) self.editar.show() pass