Пример #1
0
 def __init__(self, parent=None):
   """
   metodo constructur
   """
   QtGui.QMainWindow.__init__(self, parent)
   self.ui = Ui_editar_actor()
   self.ui.setupUi(self)
   #self.show()
   self.signals()
   self.nombre=""
   self.birthday=""
   self.genero=""
   self.imagen=""
   self.id=0
Пример #2
0
class Editar(QtGui.QMainWindow):
  """
  clase para editar un actor existente en la base de datos
  """
  def __init__(self, parent=None):
    """
    metodo constructur
    """
    QtGui.QMainWindow.__init__(self, parent)
    self.ui = Ui_editar_actor()
    self.ui.setupUi(self)
    #self.show()
    self.signals()
    self.nombre=""
    self.birthday=""
    self.genero=""
    self.imagen=""
    self.id=0
    
  def signals(self):
    """
    determina el comportamiento de los botones
    """
    self.ui.boton_imagen.clicked.connect(self.cargar_imagen)
    self.ui.boton_guardar.clicked.connect(self.guardar_actor)
    self.ui.boton_cancelar.clicked.connect(self.cancelar)
    self.ui.boton_limpiar.clicked.connect(self.limpiar)
    
  def setID(self,id):
    """
    establece la id del actor que se va a editar
    """
    self.id=id
    self.obtener_datos();

  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

  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 cargar_imagen(self):
      """
      carga la imagen seleccionada en la ventana de edicion
      """
      print("cargar imagen")
      fileName = QtGui.QFileDialog.getOpenFileName(self, 'Seleccione imagen de actor',None,
      "Archivo de imagen (*.png *.jpg)")#se abre un dialogo con un "filtro" en que solo se muestran imagenes
      print (fileName[0])
      self.ui.imagen_label.setPixmap(QtGui.QPixmap(fileName[0]))

  def cancelar(self):
      """
      cancela la edicion sin hacer cambios
      """
      self.close()
      self.limpiar()

  def limpiar(self):
      """
      limpia los campos del formulario de edicion
      """
      self.ui.nombre_in.setText("")
      self.ui.imagen_label.setPixmap(QtGui.QPixmap("Actores/img/0.jpg"))