def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) self.ui = Ui_formulario_crear() self.ui.setupUi(self) # self.show() self.listo = False # True: los datos obligatorios existen, False:si no self.nombre = "" self.imagen = "" self.nacimiento = "" self.defuncion = "" self.pais = "" self.signals()
class Controlador_form_crear_director(QtGui.QMainWindow): def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) self.ui = Ui_formulario_crear() self.ui.setupUi(self) # self.show() self.listo = False # True: los datos obligatorios existen, False:si no self.nombre = "" self.imagen = "" self.nacimiento = "" self.defuncion = "" self.pais = "" self.signals() def signals(self): self.ui.boton_foto.clicked.connect(self.cargar_imagen) self.ui.difunto_check.clicked.connect(self.difunto_check_clicked) self.ui.crear_boton.clicked.connect(self.crear_director) self.ui.cancelar_boton.clicked.connect(self.cancelar) self.ui.limpiar_boton.clicked.connect(self.limpiar) def difunto_check_clicked(self): """ Si "difunto" esta chequeado activa el ingreso de fecha de defuncion, de lo contrario, la desactiva """ self.ui.defuncion_in.setEnabled(self.ui.difunto_check.isChecked()) def obtener_datos(self): """ Se sacan los datos ingresados """ self.nombre = "" self.imagen = "" self.nacimiento = "" self.defuncion = "" self.pais = "" self.nombre = self.ui.nombre_in.text() # obligatorio self.pais = self.ui.pais_in.text() # obligatorio self.nacimiento = ( self.ui.nacimiento_in.date().toPython().strftime("%Y-%m-%d") ) # transformar de fecha en QT a fecha en python a string if self.ui.difunto_check.isChecked(): self.defuncion = ( self.ui.defuncion_in.date().toPython().strftime("%Y-%m-%d") ) # transformar de fecha en QT a fecha en python a string self.listo = False # print(len(self.nacimiento)) if ( len(self.nombre) != 0 and len(self.nacimiento) != 0 ): # True: si los campos obligatorios estan definidos, False: si no self.listo = True def crear_director(self): """ Ingresa al director a la base de datos """ self.obtener_datos() if ( self.listo == True and Modelo_director.checkea_director(self.nombre) == False ): # si los campos obligatorios tienen datos, se crea el director print("Creando nuevo director ...") # crear_director(nombre, pais, fecha_nacimiento,fecha_defuncion): Modelo_director.crear_director( self.nombre, self.pais, self.nacimiento, self.defuncion, "Director/img/" + self.nombre.replace(" ", "_") + ".jpg", ) self.ui.foto_label.pixmap().save( "Director/img/" + self.nombre.replace(" ", "_") + ".jpg", "jpg" ) # guarda la imagen que se selecciono a la carpeta "img" 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, "Director Existente", "Error:\nEL director 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 por el usuario en el formulario """ print("cargar imagen") fileName = QtGui.QFileDialog.getOpenFileName( self, "Seleccione imagen de director", None, "Archivo de imagen (*.png *.jpg)" ) # se abre un dialogo con un "filtro" en que solo se muestran imagenes print(fileName[0]) self.ui.foto_label.setPixmap(QtGui.QPixmap(fileName[0])) def cancelar(self): """ Limpia el formulario y cierra """ self.limpiar() self.close() def limpiar(self): """ limpia" el formulario """ self.ui.nombre_in.setText("") self.ui.pais_in.setText("") self.ui.difunto_check.setChecked(False) self.ui.defuncion_in.setEnabled(False) self.ui.foto_label.setPixmap(QtGui.QPixmap("Director/img/0.jpg"))