def set_box(self): """ Rellena el combobox con peliculas """ self.i = Modelo_actor.num_peli() self.ui.filtro_box.setMaxCount(self.i) self.peli = Modelo_actor.llena_box() for itm in range(len(self.peli)): #print self.peli[itm][0] #print itm self.ui.filtro_box.addItem(self.peli[itm][0])
def elimina(self): """ elimina un actor de la base de datos """ index =self.ui.tabla_actor.currentIndex() data = self.ui.tabla_actor.model() mov = data.item(index.row(),0).mov iD = str(mov['id']) resp = QtGui.QMessageBox.question(self, "Pregunta","Desea realmente eliminar el actor seleccionado?",QtGui.QMessageBox.Ok,QtGui.QMessageBox.No) if resp == QtGui.QMessageBox.Ok: Modelo_actor.borrar(iD); self.carga_actores();
def crear_actor(self): """ crea un nuevo actor en la vase de datos a partir de datos ingresados en la ventana de creacion """ self.obtener_datos() if(self.listo==True and Modelo_actor.checkea_actor(self.nombre)==False):#si los campos obligatorios tienen datos, se crea el director print("Creando nuevo actor ...") Modelo_actor.crear_actor(self.nombre,self.birthday,self.sexo,"Actores/img/"+self.nombre.replace(" ","_")+".jpg") self.ui.imagen_label.pixmap().save("Actores/img/"+self.nombre.replace(" ","_")+".jpg","jpg") self.limpiar() self.close() else:#si falta algun campo obligatorio, no se creara el nuevo director QtGui.QMessageBox.critical(self, "No hay nombre","Error:\nNo ha ingresado ningun nombre ")
def show_poster(self, index): """ carga la imagen en la ventana """ index = index if index is not None\ else self.ui.tabla_actor.currentIndex() if index.row() == -1: QtGui.QMessageBox.information( None, u"Información", u"Por favor seleccione una orden de trabajo.") return data = self.ui.tabla_actor.model() mov = data.item(index.row(), 0).mov #print mov[0] self.num_act=Modelo_actor.actuaciones(mov[0]) #print self.num_act self.ui.numero_actuaciones.setText(str(self.num_act)) if (self.num_act==1): self.ui.label_2.setText("pelicula.") else: self.ui.label_2.setText("peliculas.") # Ahora la imagen img = QtGui.QPixmap(str(mov['imagen'])) #print str(mov['imagen']) self.ui.img_actor.setPixmap(img)
def carga_actores(self): """ carga actores en la tabla de datos """ actores = Modelo_actor.obtener_actor() rows = len(actores) data = QtGui.QStandardItemModel( rows, len(self.tabla_columnas)) self.ui.tabla_actor.setModel(data) self.ui.tabla_actor.horizontalHeader().setResizeMode( 0, self.ui.tabla_actor.horizontalHeader().Stretch) for col, h in enumerate(self.tabla_columnas): data.setHeaderData(col, QtCore.Qt.Horizontal, h[0]) self.ui.tabla_actor.setColumnWidth(col, h[1]) for i, mov in enumerate(actores): row = [ mov["nombre"], mov["birthday"], mov["genero"], mov["imagen"]] for j, field in enumerate(row): index = data.index(i, j, QtCore.QModelIndex()) data.setData(index, field) # Parametros ocultos data.item(i).mov = mov
def filtrando(self): """ selecciona los actores que participaron en una determinada pelicula """ self.peliculas = self.ui.filtro_box.currentText() self.actores = Modelo_actor.filtro_actor(self.peliculas) print(self.actores) rows = len(self.actores) if rows == 0: QtGui.QMessageBox.information(None,u"Información",u"No se encontro nigun actor para esta pelicula.") return data = QtGui.QStandardItemModel(rows, len(self.tabla_columnas)) self.ui.tabla_actor.setModel(data) self.ui.tabla_actor.horizontalHeader().setResizeMode(0, self.ui.tabla_actor.horizontalHeader().Stretch) for col, h in enumerate(self.tabla_columnas): data.setHeaderData(col, QtCore.Qt.Horizontal, h[0]) self.ui.tabla_actor.setColumnWidth(col, h[1]) for i, mov in enumerate(self.actores): row = [ mov["nombre"], mov["birthday"], mov["genero"], mov["imagen"]] for j, field in enumerate(row): index = data.index(i, j, QtCore.QModelIndex()) data.setData(index, field) # Parametros ocultos data.item(i).mov = mov
def guardar_actor(self): """ guarda la informacion del actor editado en la base de datos """ print("Guardando actor modificado...") #self.obtener_datos() if(len(self.ui.nombre_in.text())>0 and Modelo_actor.checkea_actor(self.nombre)==False):#si los campos obligatorios tienen datos, se crea el director self.ui.imagen_label.pixmap().save("Actores/img/"+self.nombre.replace(" ","_")+".jpg","jpg")#guarda la imagen que se selecciono a la carpeta "img" Modelo_actor.actualiza(self.id,self.ui.nombre_in.text(),self.ui.nacimiento_in.date().toPython().strftime("%Y-%m-%d"),self.ui.genero.currentText(),"Actores/img/"+self.nombre.replace(" ","_")+".jpg") self.limpiar() self.close() else:#si falta algun campo obligatorio, no se creara el nuevo director if(len(self.nombre)>0): QtGui.QMessageBox.critical(self, "Actor Existente","Error:\nEL actor que intenta agregar ("+self.nombre+"), ya existe en la base de datos") else: QtGui.QMessageBox.critical(self, 'Faltan campos obligatorios','Error:\nLos campos "nombre" y "fecha de nacimiento" son obligatorios')
def obtener_datos(self): """ obtiene la informacion de la ventana de edicion """ print("obtener datos") self.nombre="" self.birthday="" self.genero="" self.imagen="" self.ui.actor_id.setText("ID:XXXXXXXXXX") print self.id #self.datos if(self.id>=1): self.datos=Modelo_actor.buscar_id(self.id) #print(self.datos) self.ui.actor_id.setText("ID:"+str(self.id)) self.ui.nombre_in.setText(self.datos[0]) y=int(self.datos[1][0:4]) m=int(self.datos[1][5:7]) d=int(self.datos[1][8:10]) self.ui.nacimiento_in.setDate(QtCore.QDate(y,m,d))#Y,M,D self.ui.imagen_label.setPixmap(QtGui.QPixmap(self.datos[3])) self.listo=True