From 89f55ea95857d7b1f3ead7fe8d4d0d08c5e349a0 Mon Sep 17 00:00:00 2001 From: Surik4to06 <145988210+Surik4to06@users.noreply.github.com> Date: Mon, 9 Dec 2024 09:45:09 -0300 Subject: [PATCH] =?UTF-8?q?telas=20de=20confirma=C3=A7=C3=B5es=20(#181)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * colocando menu mais detalhado na home * correção do sub menu alinhado pra cima agr * mudando icones mudando icones conforme as atividades na aplicação, tipo mecher no menu ou minimizar e maximizar, etc * arrumando algumas coisas so e os icones * colocando menu simplificado e arrumando tabs fiz um menu novo só com icones agr e arrumei o problema dos tabs tmb, alem de agr os botões ficarem clicados quando escolhem um deles * mudando nome dos icones e atualizando informações da home e agr puxando telas de edit * mudando os icones de erro e concluido * colocando caminho certo no icone de tela cheia * caminho do icone da tela maximizada agr * adicionando tela de edit sala * arrumando tabulação * mudança na ortografia da tela de cadastro de login * mudando o nome e zerando txt feadback * tirando algumas validações q nn funcionam * tela de concluido com 1 btn pra confirmar * . * tela de login funcionando sem erro agr * comentando erros na tela de login, para tratativa de erro * agr vai kkk * wqkjhfweijfgqwiuf * eygdafoawsd * colocando telas de validação e confirmação * passando as tratativas de sair da conta * mudando formas de chamar o icone de erro --- App/view/feadbackErro.py | 36 +++- App/view/home.py | 11 +- App/view/login.py | 19 +- App/view/telaConfirmacao.py | 28 +++ App/view/ui/feadbackErro.ui | 209 ++++++++++++++----- App/view/ui/icones/iconAviso.png | Bin 0 -> 2911 bytes App/view/ui/icones/iconExclamacao.png | Bin 0 -> 508 bytes App/view/ui/telaConfirmacao.ui | 289 ++++++++++++++++++++++++++ 8 files changed, 531 insertions(+), 61 deletions(-) create mode 100644 App/view/telaConfirmacao.py create mode 100644 App/view/ui/icones/iconAviso.png create mode 100644 App/view/ui/icones/iconExclamacao.png create mode 100644 App/view/ui/telaConfirmacao.ui diff --git a/App/view/feadbackErro.py b/App/view/feadbackErro.py index 8ca836b..5a9d7e0 100644 --- a/App/view/feadbackErro.py +++ b/App/view/feadbackErro.py @@ -1,9 +1,41 @@ from PyQt5.QtWidgets import QDialog from PyQt5.uic import loadUi +from PyQt5.QtCore import Qt class FeadbackErro(QDialog): - def __init__(self): + def __init__(self, txt): super().__init__() loadUi('App/view/ui/feadbackErro.ui',self) - #label do aviso do erro = #texto \ No newline at end of file + self.texto.setText(txt) + + # Remove a barra de título e as bordas da janela + self.setWindowFlags(Qt.FramelessWindowHint) + + self.btnConfirmar.clicked.connect(self.reject) + self.btnFechar.clicked.connect(self.reject) + + def mudarFoto(self, img): + if img == 'Validado': + self.setStyleSheet(""" + #icon { + image: url(App/view/ui/icones/iconConcluido.png) + } + """) + else: + self.setStyleSheet(""" + #icon { + image: url(App/view/ui/icones/iconErro.png) + } + """) + + + +if __name__ == "__main__": + from PyQt5.QtWidgets import QApplication + resp = FeadbackErro('sla') + app = QApplication([]) + if resp.exec_(): + print('ok') + else: + print('negado') \ No newline at end of file diff --git a/App/view/home.py b/App/view/home.py index dcfc8fb..4e986b7 100644 --- a/App/view/home.py +++ b/App/view/home.py @@ -16,6 +16,7 @@ from .editarReserva import EditarReserva from .editarSala import EditarSala from .reserva import ReservaInterface +from .telaConfirmacao import TelaConfirmacao from App.controller.login import pegarUsuarioLogado, removerUsuarioLogado @@ -66,6 +67,8 @@ def __init__(self): self.btnEditarSimples.clicked.connect(lambda: self.trocarTelaMenu(self.editar)) self.btnEditar.clicked.connect(lambda: self.trocarTelaMenu(self.editar)) + #btns da propria interface + # btns da propria interface # Forma Corrigida para Setar Interface ####################################### @@ -207,8 +210,12 @@ def on_btnFecharMenuQuebrado_clicked(self): self.subMenuQuebrado.hide() def fazer_logout(self): - removerUsuarioLogado() - self.close() + confirmacao = TelaConfirmacao("Tem certeza que deseja sair?", "Sim") + if confirmacao.exec_(): + removerUsuarioLogado() + self.close() + else: + pass if __name__ == "__main__": diff --git a/App/view/login.py b/App/view/login.py index de73c47..3abc441 100644 --- a/App/view/login.py +++ b/App/view/login.py @@ -1,8 +1,10 @@ from PyQt5.QtWidgets import QDialog, QMenu from PyQt5.QtCore import Qt, QTimer, QPoint from PyQt5.QtCore import pyqtSlot +from .feadbackErro import FeadbackErro from PyQt5.uic import loadUi + from App.controller.login import validarLogin #respostasErros = aviso erros @@ -69,19 +71,22 @@ def getEmailSenha(self): # # self.respostasErros.setText('LOGANDO...') # QTimer.singleShot(2000, lambda: self.limparCampos(self.respostasErros)) - # def dadosInvalidos(self): - # texto = 'DADOS INCOMPLETOS.' - # # self.respostasErros.setText(texto) - # QTimer.singleShot(2000, lambda: self.limparCampos(self.respostasErros)) + def dadosInvalidos(self): + texto = 'DADOS INCOMPLETOS.' + resposta = FeadbackErro(texto) + # resposta.mudarFoto("Validado") + if resposta.exec_(): + print('erro') + + @pyqtSlot() def on_btnEntrar_clicked(self): campos = self.getEmailSenha() if validarLogin(campos[0], campos[1]): - # self.validandoDados() self.accept() - # else: - # self.dadosInvalidos() + else: + self.dadosInvalidos() def limparCampos(self, campo): campo.clear() diff --git a/App/view/telaConfirmacao.py b/App/view/telaConfirmacao.py new file mode 100644 index 0000000..7659495 --- /dev/null +++ b/App/view/telaConfirmacao.py @@ -0,0 +1,28 @@ +from PyQt5.QtWidgets import QDialog +from PyQt5.uic import loadUi +from PyQt5.QtCore import Qt + + +class TelaConfirmacao(QDialog): + def __init__(self, aviso, txtBtnOk): + super().__init__() + loadUi('App/view/ui/telaConfirmacao.ui', self) + self.aviso.setText(aviso) + self.btnOk.clicked.connect(self.accept) + self.btnCancelar.clicked.connect(self.reject) + self.btnFechar.clicked.connect(self.reject) + + # Remove a barra de título e as bordas da janela + self.setWindowFlags(Qt.FramelessWindowHint) + + self.btnOk.setText(txtBtnOk) + +if __name__ == "__main__": + from PyQt5.QtWidgets import QApplication + app = QApplication([]) + info = TelaConfirmacao('Teste', "Sim") + if info.exec_(): + print('ok') + else: + print('negado') + diff --git a/App/view/ui/feadbackErro.ui b/App/view/ui/feadbackErro.ui index 3993c01..7621a66 100644 --- a/App/view/ui/feadbackErro.ui +++ b/App/view/ui/feadbackErro.ui @@ -10,7 +10,7 @@ 0 0 838 - 144 + 189 @@ -29,65 +29,174 @@ Dialog - background-color: rgb(255, 255, 255); + #btnConfirmar { + border: none; + background-color: #01498a; + color: #FFF; + padding: 7px; + border-radius: 15px; +} + +#btnFechar:hover { + background-color: #FF0000; + icon: url("App/view/ui/icones/iconCloseBranco.png"); +} + +#btnFechar { + border: none; + background-color: transparent; +} - - - - - - 91 - 91 - - - - - 97 - 97 - - - - - 91 - 0 - - - - 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + PointingHandCursor - - icones/iconErro.png - - - - - - - - 701 - 91 - + + + icones/iconClosePreto.pngicones/iconClosePreto.png - + - 999999 - 999999 + 30 + 30 - - - 17 - - - - color: rgb(255, 0, 0); - - - + + + + + + + + + + 91 + 91 + + + + + 97 + 97 + + + + + 91 + 0 + + + + 0 + + + + + + icones/iconErro.png + + + true + + + + + + + + 701 + 91 + + + + + 999999 + 999999 + + + + + 17 + + + + color: rgb(255, 0, 0); + + + + + + + + + + + + + PointingHandCursor + + + 0 + + + 0 + + + 0 + + + 10 + + + 8 + + + + + + 150 + 30 + + + + + 150 + 30 + + + + OK + + + + 16 + 16 + + + + + diff --git a/App/view/ui/icones/iconAviso.png b/App/view/ui/icones/iconAviso.png new file mode 100644 index 0000000000000000000000000000000000000000..9fe936fd050efb015abb0fc7cf38304a5377a008 GIT binary patch literal 2911 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 JPDHLkV1hnFdT;;$ literal 0 HcmV?d00001 diff --git a/App/view/ui/icones/iconExclamacao.png b/App/view/ui/icones/iconExclamacao.png new file mode 100644 index 0000000000000000000000000000000000000000..d40e9f5d2fff9e7a58bea2070385828db553577e GIT binary patch literal 508 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D%zw|TlahE&A8 zz3s?#C_u#dV%h)hZNkfy8XbOA%~79N{hLj6kN$kk#_C;pf0Ppb2naYFm~o)u9;<+X zn!&tsMwTAVp69U)jLA%oE5-3iIru#Is#l zomVK$Xt*h_p+WEbj@|}|NOK2=>FIae9D3GBD=au|oTsedc8yoy!c)oZf&$8~**IQ& z>bcF)F|m}HrKIv$F3XVO%=UY*3t4GP`B=w$G8^>bP0l+XkK D|53sg literal 0 HcmV?d00001 diff --git a/App/view/ui/telaConfirmacao.ui b/App/view/ui/telaConfirmacao.ui new file mode 100644 index 0000000..c2898a4 --- /dev/null +++ b/App/view/ui/telaConfirmacao.ui @@ -0,0 +1,289 @@ + + + Dialog + + + + 0 + 0 + 598 + 187 + + + + + 598 + 16777215 + + + + Confirmação + + + + icones/iconExclamacao.pngicones/iconExclamacao.png + + + #widget_3 QPushButton { + border: none; + color: #FFF; + padding: 7px; + border-radius: 15px; +} + +#btnCancelar { + background-color: #ea3323; +} + +#btnOk { + background-color: #01498a; +} + +#btnFechar:hover { + background-color: #FF0000; + icon: url("App/view/ui/icones/iconCloseBranco.png"); +} + +#btnFechar { + border: none; + background-color: transparent; +} + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 8 + + + + PointingHandCursor + + + + + + + icones/iconClosePreto.pngicones/iconClosePreto.png + + + + 30 + 30 + + + + + + + + + + + + 16777215 + 16777215 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 11 + + + + + + + + icones/iconAviso.png + + + true + + + + + + + + 0 + 0 + + + + + 478 + 94 + + + + + 19 + + + + <html><head/><body><p><br/></p></body></html> + + + + + + true + + + + + + + + + + + 7 + + + 7 + + + 0 + + + 7 + + + 6 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 150 + 0 + + + + + 150 + 16777215 + + + + + 10 + + + + PointingHandCursor + + + OK + + + + + + + + 150 + 0 + + + + + 150 + 16777215 + + + + + 10 + + + + PointingHandCursor + + + CANCELAR + + + + + + + + + + + + + btnOk + btnCancelar + + + +