def Registrar(self): if self.selecciona: self.guardarImagen() paciente = Paciente(self.txtID.text(), self.txtCedula.text(), str(self.txtNombres.text()), str(self.txtApellidos.text()), str(self.txtFecha.text()), self.txtEdad.text(), self.txtAport.text(), str(self.txtDireccion1.text()), str(self.txtDireccion2.text()), str(self.txtTelefono1.text()), str(self.txtTelefono2.text()), str(self.txtCorreo.text()), self.txtSueldo.text().replace(",", "."), self.txtDias.text(), str(self.cbxSexo.currentText()), str(self.cbxNivel.currentText()), str(self.txtCuenta.text()), str(self.cbxDiscapacidad.currentText()), str(self.txtNombreRecom.text()), str(self.txtTelefonoRecom.text()), str(self.txtCelularRecom.text()), str(self.txtCiudad.text()), self.fname) if self.btnGuardar.text() == "Guardar": QtWidgets.QMessageBox.information(self, 'Informacion', paciente.RegistrarPaciente(), QtWidgets.QMessageBox.Ok) self.borrarCampos() elif self.btnGuardar.text() == "Modificar": QtWidgets.QMessageBox.information(self, 'Informacion', paciente.UpdatePaciente(), QtWidgets.QMessageBox.Ok)
def main(): paciente1 = Paciente("Gomez", "20142020030","c") paciente2 = Paciente("Felipe", "20142020031","p") paciente3 = Paciente("Miguel", "20142020032","g") paciente4 = Paciente("Angel", "20142020033","g") paciente5 = Paciente("Neider", "20142020034","c") paciente6 = Paciente("Alejandro", "20142020035","c") paciente7 = Paciente("Cristian", "20142020036","p") paciente8 = Paciente("Camilo", "20142020037","g") paciente9 = Paciente("Camila", "20142020038","c") paciente10 = Paciente("Maria", "20142020039","p") organizarPacientes(paciente1) organizarPacientes(paciente2) organizarPacientes(paciente3) organizarPacientes(paciente4) organizarPacientes(paciente5) organizarPacientes(paciente6) organizarPacientes(paciente7) organizarPacientes(paciente8) organizarPacientes(paciente9) organizarPacientes(paciente10) print("Cardiologia") mostrarLista(cardiologia) print("Pediatria") mostrarLista(pediatria) print("Geriatria") mostrarLista(geriatria)
def __init__(self): QtWidgets.QWidget.__init__(self) self.setupUi(self) self.pushButton.clicked.connect(self.TelaEditarPacienteInfo) self.pushButton_4.clicked.connect(self.TelaMenuPrincipal) self.pushButton_3.clicked.connect(self.lineEdit.copy) self.pushButton_3.clicked.connect(self.buscarMedicamento) self.pushButton_2.clicked.connect(self.limparTela) self.paciente = Paciente()
def __init__(self,interfaz): QtWidgets.QMainWindow.__init__(self) Ui_Paciente.__init__(self) self.setupUi(self) self.Paciente = Paciente() self.RellenarTabla() self.listaEmpleados.setSelectionBehavior(QtWidgets.QTableWidget.SelectRows) # seleccionar solo filas self.listaEmpleados.setSelectionMode(QtWidgets.QTableWidget.SingleSelection) self.interfaz = interfaz self.listaEmpleados.itemDoubleClicked.connect(self.EditPaciente) self.btnEliminar.clicked.connect(self.dropPaciente) self.btnBuscar.clicked.connect(self.Filtrar)
def eliminar(self): try: selected = self.tb_eliminar.selectedIndexes() self.selected_index = selected.__getitem__(0) select = self.todos[self.selected_index.row()] paciente_user = Paciente() paciente_user.id = select.id rst=QMessageBox.warning(self,"Alerta","Esta seguro que desea eliminar", QMessageBox.Cancel, QMessageBox.Ok) if rst == QMessageBox.Ok: if(paciente_user.eliminar()): QMessageBox.about(self,"¡Enhorabuena!", "Se ha eliminado al Paciente") else: print('dd') QMessageBox.warning(self,"Error", "Ha ocurrido un error") except: QMessageBox.about(self,"Error", "Ha ocurrido un error") self.actualizarGrids()
def elegir_dobleclick(self): rst = QMessageBox.warning(self,"Alerta","¿Esta seguro que desea editar?", QMessageBox.Cancel, QMessageBox.Ok) if rst != QMessageBox.Ok: self.paciente_user = Paciente() return selected = self.tb_pacientes.selectedIndexes() self.selected_index = selected.__getitem__(0) select = self.todos[self.selected_index.row()] self.paciente_user.id = select.id self.tabWidget.setCurrentWidget(self.tab_1) self.txt_nombre.setText(select.nombres) self.txt_apellido.setText(select.apellidos) self.txt_telefono.setText(select.telefono) self.txt_cedula.setText(select.cedula) self.txt_direccion.setText(select.direccion)
def guardar(self): if self.paciente_user.id is None or self.paciente_user.id == 0: self.paciente_user = Paciente() self.paciente_user.nombres = self.txt_nombre.text() self.paciente_user.apellidos = self.txt_apellido.text() self.paciente_user.telefono = self.txt_telefono.text() self.paciente_user.cedula = self.txt_cedula.text() self.paciente_user.direccion = self.txt_direccion.text() if(self.paciente_user.guardar()): self.txt_nombre.setText('') self.txt_apellido.setText('') self.txt_telefono.setText('') self.txt_cedula.setText('') self.txt_direccion.setText('') QtWidgets.QMessageBox.information(self, '¡Enhorabuena!', 'Se ha registrado el doctor', QtWidgets.QMessageBox.Ok) else: QtWidgets.QMessageBox.warning(self, 'Error', 'Revisa los datos', QtWidgets.QMessageBox.Ok) self.actualizarGrids()
while sair == False: print('1 - Cadastrar novo paciente') print('2 - Gerar relatório ') print('3 - Sair do Sistema') opcao = int(input('Escolha uma opção:')) if opcao == 1: nome = input('Informe o nome do paciente: ') febreM = int(input("Febre moderada(38 a 39 °C)? 1=Sim, 0=NÃO : ")) febreA = int(input("Febre alta (acima de 39 °C)? 1=Sim, 0=NÃO : ")) tosseP = int(input("Tosse Persistente? 1=Sim, 0=NÃO : ")) tosseS = int(input("Tosse Seca? 1=Sim, 0=NÃO : ")) fdeAr = int(input("Falta de Ar? 1=Sim, 0=NÃO : ")) dparaResp = int(input("Dor para respirar? 1=Sim, 0=NÃO : ")) pGastrico = int(input("Problema Gastrico? 1=Sim, 0=NÃO : ")) diarreia = int(input("Diarreia? 1=Sim, 0=NÃO : ")) paciente = Paciente(nome, febreM, febreA, tosseP, tosseS, fdeAr, dparaResp, pGastrico, diarreia) paciente.infectado = rn.testar(paciente) if paciente.infectado: print("------------Paciente possivelmente infectado ") dao.salvar(paciente) if opcao == 2: infectados = 0 print() print("Relatório_________________________________") pacientes = dao.listar() for paciente in pacientes: paciente.imprimir() if paciente.infectado == True:
def cadastrar(self): nome = self.lineEdit_nome.text() sobrenome = self.lineEdit_sobrenome.text() cpf = self.lineEdit_CPF.text() rg = self.lineEdit_RG.text() data_nasc = QtWidgets.QDateTimeEdit.date(self.dateEdit_Data_nasc) data_nasc = data_nasc.toPyDate() if nome and sobrenome and cpf and rg and data_nasc: paciente = Paciente() paciente.setCPFPaciente(cpf) if paciente.cpfCorreto():#Verifica se o cpf esta correto ano_nasc = data_nasc.strftime("%Y") ano_atual = date.today().strftime('%Y') idade = int(ano_atual) - int(ano_nasc) if idade >=18: if paciente.validaCPFpaciente(cpf):#Verifica se o cpf esta cadastrado self.label_Erro.setText("CPF já está cadastrado!") else: paciente.setNomePaciente(nome) paciente.setSobrenomePaciente(sobrenome) paciente.setRgPaciente(rg) paciente.setDataNasc(data_nasc) paciente.gravaBDpaciente() Mensagem.msg = "Paciente Cadastrado com sucesso!" Mensagem.cor = "black" Mensagem.img = 1 self.switch_window_2.emit() self.limpaCampos() else: self.label_Erro.setText("Idade não permitida!") else: self.label_Erro.setText("O CPF está incorreto!") else: self.label_Erro.setText("Existem campos a serem preenchidos!")
class viewPaciente(QtWidgets.QMainWindow, Ui_Paciente): def __init__(self,interfaz): QtWidgets.QMainWindow.__init__(self) Ui_Paciente.__init__(self) self.setupUi(self) self.Paciente = Paciente() self.RellenarTabla() self.listaEmpleados.setSelectionBehavior(QtWidgets.QTableWidget.SelectRows) # seleccionar solo filas self.listaEmpleados.setSelectionMode(QtWidgets.QTableWidget.SingleSelection) self.interfaz = interfaz self.listaEmpleados.itemDoubleClicked.connect(self.EditPaciente) self.btnEliminar.clicked.connect(self.dropPaciente) self.btnBuscar.clicked.connect(self.Filtrar) def RellenarTabla(self): self.listaEmpleados.clear() self.listaEmpleados.setColumnCount(23) self.listaEmpleados.setHorizontalHeaderLabels(['Id', 'Cédula', 'Nombres', 'Apellidos', 'Fecha Nacimiento','Edad', '# Aportaciones', 'Dirección 1', 'Dirección 2', 'Teléfono 1', 'Teléfono 2', 'Email', 'Sueldo', 'Dias Laborales','Género', ' Nivel Académico', '# Cuenta', 'Discapacidad', 'Nombre Recomendado', 'Teléfono Recomendado', 'Celular Recomendado', 'Ciudad', 'Foto']) datos = self.Paciente.obtenerPacientes() self.listaEmpleados.setRowCount(len(datos)) for i,row in enumerate(datos): for j,val in enumerate(row): self.listaEmpleados.setItem(i,j,QtWidgets.QTableWidgetItem(str(val))) def EditPaciente(self,clicked): #fila = clicked.row() self.interfaz.nuevoPaciente() datos = self.listaEmpleados.selectedItems() self.interfaz.viewFormulario.borrarCampos() self.interfaz.viewFormulario.txtID.setText(datos[0].text()) self.interfaz.viewFormulario.txtCedula.setText(datos[1].text()) self.interfaz.viewFormulario.txtNombres.setText(datos[2].text()) self.interfaz.viewFormulario.txtApellidos.setText(datos[3].text()) self.interfaz.viewFormulario.txtFecha.setDate(datetime.datetime.strptime(datos[4].text(), "%d/%m/%Y")) self.interfaz.viewFormulario.txtEdad.setValue(int(datos[5].text())) self.interfaz.viewFormulario.txtAport.setValue(int(datos[6].text())) self.interfaz.viewFormulario.txtDireccion1.setText(datos[7].text()) self.interfaz.viewFormulario.txtDireccion2.setText(datos[8].text()) self.interfaz.viewFormulario.txtTelefono1.setText(datos[9].text()) self.interfaz.viewFormulario.txtTelefono2.setText(datos[10].text()) self.interfaz.viewFormulario.txtCorreo.setText(datos[11].text()) self.interfaz.viewFormulario.txtSueldo.setValue(float(datos[12].text())) self.interfaz.viewFormulario.txtDias.setValue(int(datos[13].text())) index1 = self.interfaz.viewFormulario.cbxSexo.findText(datos[14].text(), QtCore.Qt.MatchFixedString) if index1 >= 0: self.interfaz.viewFormulario.cbxSexo.setCurrentIndex(index1) index2 = self.interfaz.viewFormulario.cbxNivel.findText(datos[15].text(), QtCore.Qt.MatchFixedString) if index2 >= 0: self.interfaz.viewFormulario.cbxNivel.setCurrentIndex(index2) self.interfaz.viewFormulario.txtCuenta.setText(datos[16].text()) index3 = self.interfaz.viewFormulario.cbxDiscapacidad.findText(datos[17].text(), QtCore.Qt.MatchFixedString) if index3 >= 0: self.interfaz.viewFormulario.cbxDiscapacidad.setCurrentIndex(index3) self.interfaz.viewFormulario.txtNombreRecom.setText(datos[18].text()) self.interfaz.viewFormulario.txtTelefonoRecom.setText(datos[19].text()) self.interfaz.viewFormulario.txtCelularRecom.setText(datos[20].text()) self.interfaz.viewFormulario.txtCiudad.setText(datos[21].text()) self.interfaz.viewFormulario.verImagen.setPixmap(QtGui.QPixmap(str(datos[22].text()))) self.interfaz.viewFormulario.btnGuardar.setText("Modificar") self.interfaz.viewFormulario.fotoActual = str(datos[22].text()) self.interfaz.viewFormulario.btnLimpiar.setEnabled(False) def dropPaciente(self): datos = self.listaEmpleados.selectedItems() if len(datos) <= 0: QtWidgets.QMessageBox.information(self, 'Información', 'Seleccione el usuario que desea eliminar', QtWidgets.QMessageBox.Ok) else: confirmar = QtWidgets.QMessageBox.question(self, "Información", "¿Seguro que desea eliminar los datos de este Paciente?", QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No) if confirmar == QtWidgets.QMessageBox.Yes: QtWidgets.QMessageBox.information(self, 'Información', self.Paciente.dropPaciente(datos[0].text()), QtWidgets.QMessageBox.Ok) self.RellenarTabla() def Filtrar(self): item = self.cbxBusq.currentText() self.dato = self.txtBusq.text() self.listaEmpleados.clear() self.listaEmpleados.setColumnCount(23) self.listaEmpleados.setHorizontalHeaderLabels(['Id', 'Cédula', 'Nombres', 'Apellidos', 'Fecha Nacimiento','Edad', '# Aportaciones', 'Dirección 1', 'Dirección 2', 'Teléfono 1', 'Teléfono 2', 'Email', 'Sueldo', 'Dias Laborales','Género', ' Nivel Académico', '# Cuenta', 'Discapacidad', 'Nombre Recomendado', 'Teléfono Recomendado', 'Celular Recomendado', 'Ciudad', 'Foto']) if self.dato != '': if item == 'Cédula': datos = self.Paciente.buscarPacientePorCedula(self.dato) elif item == 'Apellidos': datos = self.Paciente.buscarPacientePorApellidos(self.dato) elif item == 'Nombres': datos = self.Paciente.buscarPacientePorNombres(self.dato) elif item == 'Ciudad': datos = self.Paciente.buscarPacientePorCiudad(self.dato) else: datos = self.Paciente.obtenerPacientes() self.listaEmpleados.setRowCount(len(datos)) for i,row in enumerate(datos): for j,val in enumerate(row): self.listaEmpleados.setItem(i,j,QtWidgets.QTableWidgetItem(str(val)))
class VentanaCliente(QDialog, cliente): paciente_user = Paciente() def __init__(self, parent = None): QDialog.__init__(self, parent) self.setupUi(self) self.inicializar() def inicializar(self): self.btn_buscar.clicked.connect(self.buscar) self.btn_guardar.clicked.connect(self.guardar) self.btn_eliminar_todo.clicked.connect(self.eliminar) self.todos = self.paciente_user.consultar_todos() self.tb_pacientes.doubleClicked.connect(self.elegir_dobleclick) self.actualizarGrids() self.btn_cerrar.clicked.connect(self.closeEvent) def actualizarGrids(self): self.todos = self.paciente_user.consultar_todos() self.fillDataGrid(self.todos, self.tb_pacientes) self.fillDataGrid(self.todos, self.tb_eliminar) def elegir_dobleclick(self): rst = QMessageBox.warning(self,"Alerta","¿Esta seguro que desea editar?", QMessageBox.Cancel, QMessageBox.Ok) if rst != QMessageBox.Ok: self.paciente_user = Paciente() return selected = self.tb_pacientes.selectedIndexes() self.selected_index = selected.__getitem__(0) select = self.todos[self.selected_index.row()] self.paciente_user.id = select.id self.tabWidget.setCurrentWidget(self.tab_1) self.txt_nombre.setText(select.nombres) self.txt_apellido.setText(select.apellidos) self.txt_telefono.setText(select.telefono) self.txt_cedula.setText(select.cedula) self.txt_direccion.setText(select.direccion) def guardar(self): if self.paciente_user.id is None or self.paciente_user.id == 0: self.paciente_user = Paciente() self.paciente_user.nombres = self.txt_nombre.text() self.paciente_user.apellidos = self.txt_apellido.text() self.paciente_user.telefono = self.txt_telefono.text() self.paciente_user.cedula = self.txt_cedula.text() self.paciente_user.direccion = self.txt_direccion.text() if(self.paciente_user.guardar()): self.txt_nombre.setText('') self.txt_apellido.setText('') self.txt_telefono.setText('') self.txt_cedula.setText('') self.txt_direccion.setText('') QtWidgets.QMessageBox.information(self, '¡Enhorabuena!', 'Se ha registrado el doctor', QtWidgets.QMessageBox.Ok) else: QtWidgets.QMessageBox.warning(self, 'Error', 'Revisa los datos', QtWidgets.QMessageBox.Ok) self.actualizarGrids() def eliminar(self): try: selected = self.tb_eliminar.selectedIndexes() self.selected_index = selected.__getitem__(0) select = self.todos[self.selected_index.row()] paciente_user = Paciente() paciente_user.id = select.id rst=QMessageBox.warning(self,"Alerta","Esta seguro que desea eliminar", QMessageBox.Cancel, QMessageBox.Ok) if rst == QMessageBox.Ok: if(paciente_user.eliminar()): QMessageBox.about(self,"¡Enhorabuena!", "Se ha eliminado al Paciente") else: print('dd') QMessageBox.warning(self,"Error", "Ha ocurrido un error") except: QMessageBox.about(self,"Error", "Ha ocurrido un error") self.actualizarGrids() def fillDataGrid(self, result, tb): model = QStandardItemModel() model.setColumnCount(len(self.paciente_user.headernames)) model.setHorizontalHeaderLabels(self.paciente_user.headernames) pacientes = [] for paciente_result in result: li = [paciente_result.nombres, paciente_result.apellidos, paciente_result.direccion, paciente_result.telefono, paciente_result.cedula] pacientes.append(li) row = [] for name in li: item = QStandardItem(str(name)) item.setEditable(False) row.append(item) model.appendRow(row) tb.setModel(model) return pacientes def buscar(self): texto = self.txt_buscar.text() if len(texto) < 1: self.actualizarGrids() QMessageBox.about(self,"Error", "No encontramos nada") return result = [] if self.radioButton_nombre.isChecked(): result = self.paciente_user.consultar_By_Atribute(texto, 'nombres') elif self.radioButton_apellido.isChecked(): result = self.paciente_user.consultar_By_Atribute(texto, 'apellidos') elif self.radioButton_cedula.isChecked(): result = self.paciente_user.consultar_By_Atribute(texto, 'cedula') self.fillDataGrid(result, self.tb_pacientes) def closeEvent(self): self.hide()
def atualizarPaciente(self): nome = self.lineEdit_NomePac.text() sobrenome = self.lineEdit_SobrenomePac.text() cpf = self.lineEdit_CPF.text() rg = self.lineEdit_RG.text() data_nasc = QtWidgets.QDateTimeEdit.date(self.dateEdit_DataNasc) data_nasc = data_nasc.toPyDate() if cpf and nome and sobrenome and data_nasc and rg: paciente = Paciente() paciente.setCPFPaciente(cpf) if paciente.cpfCorreto(): ano_nasc = data_nasc.strftime("%Y") ano_atual = date.today().strftime('%Y') idade = int(ano_atual) - int(ano_nasc) if idade >= 18: if cpf != EditarPacienteInfo.cpf: if paciente.validaCPFpaciente(cpf): self.label_Erro.setText( "PACIENTE JÁ ESTÁ CADASTRADO!") else: paciente.setNomePaciente(nome.lower()) paciente.setSobrenomePaciente(sobrenome.lower()) paciente.setRgPaciente(rg) paciente.setDataNasc(data_nasc) paciente.atualizaBDpaciente(EditarPacienteInfo.cpf) Mensagem.msg = "Paciente atualizado com sucesso" Mensagem.cor = "black" Mensagem.img = 1 self.switch_window.emit() else: paciente.setNomePaciente(nome.lower()) paciente.setSobrenomePaciente(sobrenome.lower()) paciente.setRgPaciente(rg) paciente.setDataNasc(data_nasc) paciente.atualizaBDpaciente(EditarPacienteInfo.cpf) Mensagem.msg = "Paciente atualizado com sucesso" Mensagem.cor = "black" Mensagem.img = 1 self.switch_window.emit() else: self.label_Erro.setText("Idade não permitida!") else: self.label_Erro.setText("O cpf foi digitado errado") else: self.label_Erro.setText("Existem campos a serem preenchidos")
def setupUi(self, Form): paciente = Paciente() paciente.recuperaBDpacAtr(EditarPacienteInfo.cpf) Form.setWindowIcon(QtGui.QIcon("img/home.png")) Form.setObjectName("Form") Form.setFixedSize(582, 228) self.fontLabelErro = QtGui.QFont() self.fontLabelErro.setFamily("Arial") self.fontLabelErro.setPointSize(12) self.fontLabelErro.setBold(True) self.fontLabelErro.setWeight(75) self.fontCampos = QtGui.QFont() self.fontCampos.setFamily("Arial") self.fontCampos.setPointSize(9) self.fontCampos.setWeight(75) self.fontCampos.setCapitalization(3) self.pushButton_MenuPrin = QtWidgets.QPushButton(Form) self.pushButton_MenuPrin.setGeometry(QtCore.QRect(470, 110, 91, 28)) self.pushButton_MenuPrin.setObjectName("pushButton_MenuPrin") self.pushButton_Salvar = QtWidgets.QPushButton(Form) self.pushButton_Salvar.setGeometry(QtCore.QRect(470, 190, 93, 28)) self.pushButton_Salvar.setObjectName("pushButton_retirar") self.lineEdit_NomePac = QtWidgets.QLineEdit(Form) self.lineEdit_NomePac.setGeometry(QtCore.QRect(50, 10, 100, 22)) self.lineEdit_NomePac.setObjectName("lineEdit_NomePac") self.lineEdit_NomePac.setMaxLength(15) self.lineEdit_NomePac.setFont(self.fontCampos) self.lineEdit_NomePac.setValidator( QtGui.QRegExpValidator(QtCore.QRegExp("[A-Za-z]+"), self.lineEdit_NomePac)) self.lineEdit_NomePac.setText(paciente.getNomePaciente()[0].title()) self.lineEdit_SobrenomePac = QtWidgets.QLineEdit(Form) self.lineEdit_SobrenomePac.setGeometry(QtCore.QRect(240, 10, 200, 22)) self.lineEdit_SobrenomePac.setObjectName("lineEdit_SobrenomePac") self.lineEdit_SobrenomePac.setMaxLength(40) self.lineEdit_SobrenomePac.setFont(self.fontCampos) self.lineEdit_SobrenomePac.setValidator( QtGui.QRegExpValidator(QtCore.QRegExp("[A-Za-z ]+"), self.lineEdit_SobrenomePac)) self.lineEdit_SobrenomePac.setText( paciente.getSobrenomePaciente()[0].title()) self.label_Erro = QtWidgets.QLabel(Form) self.label_Erro.setGeometry(QtCore.QRect(30, 110, 371, 131)) self.label_Erro.setObjectName("label_Erro") self.label_Erro.setFont(self.fontLabelErro) self.label_Erro.setStyleSheet('QLabel {color: red') self.label_Nome = QtWidgets.QLabel(Form) self.label_Nome.setGeometry(QtCore.QRect(10, 10, 50, 16)) self.label_Nome.setObjectName("label_Nome") self.label_Sobrenome = QtWidgets.QLabel(Form) self.label_Sobrenome.setGeometry(QtCore.QRect(170, 10, 60, 16)) self.label_Sobrenome.setObjectName("label_Sobrenome") self.label_CPF = QtWidgets.QLabel(Form) self.label_CPF.setGeometry(QtCore.QRect(10, 50, 55, 16)) self.label_CPF.setObjectName("label_CPF") self.label_DataNasc = QtWidgets.QLabel(Form) self.label_DataNasc.setGeometry(QtCore.QRect(10, 90, 121, 16)) self.label_DataNasc.setObjectName("label_DataNasc") self.dateEdit_DataNasc = QtWidgets.QDateEdit(Form) self.dateEdit_DataNasc.setGeometry(QtCore.QRect(150, 90, 110, 22)) self.dateEdit_DataNasc.setObjectName("dateEdit_DataNasc") self.dateEdit_DataNasc.setFont(self.fontCampos) self.dateEdit_DataNasc.setDate(paciente.getDataNasc()[0]) self.label_RG = QtWidgets.QLabel(Form) self.label_RG.setGeometry(QtCore.QRect(290, 50, 55, 16)) self.label_RG.setObjectName("label_RG") self.lineEdit_RG = QtWidgets.QLineEdit(Form) self.lineEdit_RG.setGeometry(QtCore.QRect(320, 50, 191, 22)) self.lineEdit_RG.setObjectName("lineEdit_RG") self.lineEdit_RG.setValidator( QtGui.QRegExpValidator(QtCore.QRegExp("[0-9]+"), self.lineEdit_RG)) self.lineEdit_RG.setText(paciente.getRg()[0]) self.lineEdit_RG.setFont(self.fontCampos) self.lineEdit_RG.setMaxLength(9) self.lineEdit_CPF = QtWidgets.QLineEdit(Form) self.lineEdit_CPF.setGeometry(QtCore.QRect(50, 50, 211, 22)) self.lineEdit_CPF.setContextMenuPolicy(QtCore.Qt.NoContextMenu) self.lineEdit_CPF.setObjectName("lineEdit_CPF") self.lineEdit_CPF.setValidator( QtGui.QRegExpValidator(QtCore.QRegExp("[0-9]+"), self.lineEdit_CPF)) self.lineEdit_CPF.setText(str(paciente.getCPF()[0])) self.lineEdit_CPF.setFont(self.fontCampos) self.lineEdit_CPF.setMaxLength(11) self.pushButton_Salvar.clicked.connect(self.copiarCampos) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form)
class EditarPaciente(QtWidgets.QWidget): switch_window = QtCore.pyqtSignal() switch_window_2 = QtCore.pyqtSignal() def __init__(self): QtWidgets.QWidget.__init__(self) self.setupUi(self) self.pushButton.clicked.connect(self.TelaEditarPacienteInfo) self.pushButton_4.clicked.connect(self.TelaMenuPrincipal) self.pushButton_3.clicked.connect(self.lineEdit.copy) self.pushButton_3.clicked.connect(self.buscarMedicamento) self.pushButton_2.clicked.connect(self.limparTela) self.paciente = Paciente() def setupUi(self, Form): Form.setWindowIcon(QtGui.QIcon("img/home.png")) Form.setObjectName("Form") Form.setFixedSize(660, 273) self.fontLabel = QtGui.QFont() self.fontLabel.setFamily("Arial") self.fontLabel.setPointSize(9) self.fontLabel.setBold(True) self.fontLabel.setWeight(75) self.fontCampos = QtGui.QFont() self.fontCampos.setFamily("Arial") self.fontCampos.setPointSize(9) self.fontCampos.setWeight(75) self.fontCampos.setCapitalization(3) self.label_Erros = QtWidgets.QLabel(Form) self.label_Erros.setGeometry(QtCore.QRect(300, 10, 300, 20)) self.label_Erros.setAlignment(QtCore.Qt.AlignCenter) self.label_Erros.setFont(self.fontLabel) self.label_Erros.setObjectName("Erros") self.label_busca_pac = QtWidgets.QLabel(Form) self.label_busca_pac.setGeometry(QtCore.QRect(50, 50, 151, 20)) self.label_busca_pac.setObjectName("Buscar Pcientes") self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setGeometry(QtCore.QRect(557, 230, 93, 28)) self.pushButton.setVisible(False) self.pushButton.setObjectName("Editar") self.pushButton_2 = QtWidgets.QPushButton(Form) self.pushButton_2.setGeometry(QtCore.QRect(557, 150, 93, 28)) self.pushButton_2.setObjectName("Limpar") self.pushButton_3 = QtWidgets.QPushButton(Form) self.pushButton_3.setGeometry(QtCore.QRect(557, 49, 93, 28)) self.pushButton_3.setObjectName("Buscar") self.pushButton_4 = QtWidgets.QPushButton(Form) self.pushButton_4.setGeometry(QtCore.QRect(557, 110, 91, 28)) self.pushButton_4.setObjectName("Menu Principal") self.lineEdit = QtWidgets.QLineEdit(Form) self.lineEdit.setGeometry(QtCore.QRect(185, 50, 361, 25)) self.lineEdit.setToolTip("Digite o 1° nome ou cpf do paciente") self.lineEdit.setPlaceholderText("Digite o 1° nome ou cpf do paciente") self.lineEdit.setMaxLength(15) self.lineEdit.setFont(self.fontCampos) self.lineEdit.setObjectName("Primeiro nome ou cpf do paciente") self.tabela = QtWidgets.QTableWidget(Form) self.tabela.setGeometry(QtCore.QRect(50, 110, 496, 146)) self.tabela.setColumnCount(6) # Set dez columns self.tabela.setHorizontalHeaderLabels(["ID", "Nome","Sobrenome", "CPF", "RG", "Data Nasc."]) self.tabela.setFont(self.fontLabel) self.tabela.resizeColumnsToContents() self.tabela.resizeRowsToContents() self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Editar Paciente")) self.pushButton_4.setText(_translate("Form", "Menu principal")) self.pushButton_3.setText(_translate("Form", "Buscar")) self.pushButton.setText(_translate("Form", "Editar")) self.label_busca_pac.setText(_translate("Form", "Buscar Paciente:")) self.pushButton_2.setText(_translate("Form", "Limpar")) def limparTela(self): self.label_Erros.clear() self.tabela.clear() self.tabela.setHorizontalHeaderLabels(["ID", "Nome", "CPF", "RG", "Data Nasc."]) self.pushButton.setVisible(False) def TelaEditarPacienteInfo(self): self.switch_window_2.emit() self.pushButton.setVisible(False) def TelaMenuPrincipal(self): self.switch_window.emit() def buscarMedicamento(self): self.limparTela() cpfNome = self.lineEdit.text()#Lê o campo com cpf ou nome if cpfNome: if self.paciente.validaCPFnome(cpfNome):#Verifica se o cpf ou nome existe self.paciente.recuperaBDpaciente(cpfNome)#Recupera todos paciente em variavel objeto para o objeto paciente if self.paciente.validaCPFpaciente(cpfNome):#Verifica se foi digitado um cpf valido para habilitar o botão editar EditarPacienteInfo.cpf = cpfNome # Passa para variavel estática cpf da classe EditarPacienteInfo self.pushButton.setVisible(True) self.preencheTabela() else: self.msgErro() self.tabela.setHorizontalHeaderLabels(["ID", "Nome", "Sobrenome", "CPF", "RG", "Data Nasc."]) self.tabela.resizeColumnsToContents() self.tabela.resizeRowsToContents() def preencheTabela(self): dados = self.paciente.getPaciente() self.tabela.setRowCount(0) for num_linha, linha_dado in enumerate(dados): self.tabela.insertRow(num_linha) for num_coluna, dado in enumerate(linha_dado): self.tabela.setItem(num_linha, num_coluna, self.formatCell(str(dado))) if num_coluna == 1 or num_coluna == 2: self.tabela.setItem(num_linha, num_coluna, self.formatCellNomeSobrenome(str(dado).title())) for linha in range(len(dados)):#Formatação das datas de nascimento dataNasc = dados[linha][5].strftime('%d/%m/%Y') self.tabela.setItem(linha, 5, self.formatCell(dataNasc)) self.tabela.setHorizontalHeaderLabels(["ID", "Nome","Sobrenome", "CPF", "RG", "Data Nasc."]) for pos in range(6): self.tabela.horizontalHeaderItem(pos).setTextAlignment(QtCore.Qt.AlignVCenter) self.tabela.resizeColumnsToContents() self.tabela.resizeRowsToContents() def formatCell(self, dado): cellinfo = QtWidgets.QTableWidgetItem(dado) cellinfo.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled) cellinfo.setTextAlignment(QtCore.Qt.AlignRight) return cellinfo def formatCellNomeSobrenome(self, dado): cellinfo = QtWidgets.QTableWidgetItem(dado) cellinfo.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled) cellinfo.setTextAlignment(QtCore.Qt.AlignLeft) return cellinfo def msgErro(self): self.tabela.clear() self.tabela.setHorizontalHeaderLabels(["ID", "Nome", "Sobrenome", "CPF", "RG", "Data Nasc."]) self.tabela.resizeColumnsToContents() self.tabela.resizeRowsToContents() self.label_Erros.setText("CPF OU NOME NÃO CADASTRADO!") self.label_Erros.setStyleSheet('QLabel {color: red')