def __init__(self, parent=None): super(TelaRevisao, self).__init__(parent) self.subject = ISubject() self._settings() self._createWidgets() self._setStyle() self._setConnects()
def __init__(self, parent=None): super(TelaCriarFlashcards, self).__init__(parent) self.subject = ISubject() self._settings() self._create_widgets() self._set_style() self._setConnects()
def __init__(self, parent=None): super(TelaHistorico, self).__init__(parent) self.subject = ISubject() self._settings() self._create_widgets() self._set_style() self._setConnects()
class TelaRevisao(QWidget): def __init__(self, parent=None): super(TelaRevisao, self).__init__(parent) self.subject = ISubject() self._settings() self._createWidgets() self._setStyle() self._setConnects() def _settings(self): self.setFixedSize(800, 610) self.setWindowTitle("Revisão") def _createWidgets(self): self.ciclo_label = label(self, "Ciclo:", 635, 20, 90, 40) self.ciclo_label.setAlignment(Qt.AlignCenter) self.ciclo_line = lineEdit(self, 700, 25, 60, 30) self.ciclo_line.setEnabled(False) self.ciclo_line.setAlignment(Qt.AlignCenter) self.pergunta_ou_resposta = label(self, "Pergunta", 350, 65, 100, 30) self.pergunta_ou_resposta.setAlignment(Qt.AlignCenter) self.anterior_botao = button(self, "<", 100, 280, 40, 40) self.proximo_botao = button(self, ">", 660, 280, 40, 40) self.acertei_botao = button(self, "Acertei", 150, 450, 250, 50) self.errei_botao = button(self, "Errei", 400, 450, 250, 50) self.voltar_botao = button(self, "Voltar", 20, 20, 90, 40) self.salvar_botao = button(self, "Salvar", 150, 510, 500, 50) self.texto = textEdit(self, 150, 100, 500, 350) def _setStyle(self): self.setStyleSheet("background-color: rgb(54, 54, 54);") self.pergunta_ou_resposta.setStyleSheet( "color: rgb(210, 210, 210); font: 14pt;") self.ciclo_label.setStyleSheet( "color: rgb(210, 210, 210); font: 12pt;") self.texto.setStyleSheet('''font: 12pt; color: rgb(210, 210, 210); border: 1px solid; border-top-left-radius: 4px; border-top-right-radius: 4px; border-color: rgb(84, 84, 84);''') self.ciclo_line.setStyleSheet( "color: rgb(210, 210, 210); border-radius: 4px; border: 1px solid; border-color: rgb(84, 84, 84);" ) style_button(button=self.anterior_botao, cor="cinza_escuro", tam_fonte="12", border_radius=(20, 20, 20, 20), rgb_da_letra="(210, 210, 210)") style_button(button=self.proximo_botao, cor="cinza_escuro", tam_fonte="12", border_radius=(20, 20, 20, 20), rgb_da_letra="(210, 210, 210)") style_button(button=self.acertei_botao, cor="verde", tam_fonte="12", border_radius=(0, 0, 5, 0), border_color="(123, 205, 126)") style_button(button=self.errei_botao, cor="vermelho", tam_fonte="12", border_radius=(0, 0, 0, 5), border_color="(205, 123, 123)") style_button(button=self.voltar_botao, cor="cinza_escuro", tam_fonte="12", border_radius=(10, 10, 10, 10), rgb_da_letra="(210, 210, 210)") style_button(button=self.salvar_botao, cor="azul", tam_fonte="12", border_radius=(5, 5, 5, 5), border_color="(123, 166, 205)") def _setConnects(self): self.anterior_botao.clicked.connect(self.botaoAnterior) self.proximo_botao.clicked.connect(self.botaoProximo) self.acertei_botao.clicked.connect(self.botaoAcertei) self.errei_botao.clicked.connect(self.botaoErrei) self.voltar_botao.clicked.connect(self.botaoVoltar) self.salvar_botao.clicked.connect(self.botaoSalvar) def clear(self): self.texto.clear() #self.ciclo_line.clear() def botaoAnterior(self): event = {"codigo": 15, "descricao": "Botão ANTERIOR da tela REVISAO"} self.subject.notify(event) def botaoProximo(self): event = {"codigo": 16, "descricao": "Botão PROXIMO da tela REVISAO"} self.subject.notify(event) def botaoAcertei(self): event = {"codigo": 17, "descricao": "Botão ACERTEI da tela REVISAO"} self.subject.notify(event) def botaoErrei(self): event = {"codigo": 18, "descricao": "Botão ERREI da tela REVISAO"} self.subject.notify(event) def botaoVoltar(self): event = {"codigo": 19, "descricao": "Botão VOLTAR da tela REVISAO"} self.subject.notify(event) def botaoSalvar(self): event = {"codigo": 20, "descricao": "Botão SALVAR da tela REVISAO"} self.subject.notify(event)
class TelaCriarRotina(QWidget): def __init__(self, parent=None): super(TelaCriarRotina, self).__init__(parent) self.subject = ISubject() self._settings() self._createWidgets() self._setStyle() self._setConnects() def _settings(self): self.setFixedSize(610, 492) self.setWindowTitle("Criar rotina") def _createWidgets(self): self.voltar_botao = button(self, "Voltar", 20, 20, 90, 40) self.dia_atividades = label(self, "Dia:", 160, 80, 50, 20) self.dias_box = comboBox(tela=self, duplicates=False, maxCount=7, x=195, y=80, largura=265, altura=25) self.remover_botao = button(self, "Remover", 160, 327, 300, 35) self.adicionar_botao = button(self, "Adicionar", 160, 422, 300, 30) self.atividades_listwidget = listWidget(self, 160, 135, 300, 192) self.atividade_line = lineEdit(self, 160, 392, 300, 30) def _setStyle(self): self.setStyleSheet("background-color: rgb(54, 54, 54);") self.dia_atividades.setStyleSheet( "color: rgb(210, 210, 210); font: 14pt;") self.dias_box.setStyleSheet('''QComboBox{ border-radius: 4px; color: rgb(210, 210, 210); background-color: qlineargradient(x1:0, y1:0, x2:1,y2:1, stop: 1 rgba(210, 210, 210, 100), stop: 0 rgba(110, 110, 110, 100)); font: 14px; } QComboBox QAbstractItemView{ selection-background-color: rgb(34, 34, 34); color: rgb(210, 210, 210) }''') self.dias_box.setEditable(False) self.atividades_listwidget.setStyleSheet('''color: rgb(210, 210, 210); border: 1px solid; border-top-left-radius: 4px; border-top-right-radius: 4px; border-color: rgb(84, 84, 84); font: 14px;''') self.atividade_line.setStyleSheet('''color: rgb(210, 210, 210); border: 1px solid; border-top-left-radius: 4px; border-top-right-radius: 4px; border-color: rgb(84, 84, 84); font: 14px''') style_button(button=self.voltar_botao, cor="cinza_escuro", tam_fonte="12", border_radius=(10, 10, 10, 10), rgb_da_letra="(210, 210, 210)") style_button(button=self.adicionar_botao, cor="verde", tam_fonte="12", border_radius=(0, 0, 5, 5), border_color="(123, 205, 126)") style_button(button=self.remover_botao, cor="vermelho", tam_fonte="12", border_radius=(0, 0, 5, 5), border_color="(205, 123, 123)") def _setConnects(self): self.voltar_botao.clicked.connect(self.botaoVoltar) self.adicionar_botao.clicked.connect(self.botaoAdicionar) self.remover_botao.clicked.connect(self.botaoRemover) self.dias_box.currentTextChanged.connect(self.comboBoxMudouValor) def clear(self): self.dias_box.clear() self.atividades_listwidget.clear() self.atividade_line.clear() def botaoVoltar(self): event = { "codigo": 26, "descricao": "Botão VOLTAR da tela CRIAR ROTINA" } self.subject.notify(event) def botaoAdicionar(self): if self.atividade_line.text(): event = { "codigo": 27, "descricao": "Botão ADICIONAR da tela CRIAR ROTINA" } self.subject.notify(event) def botaoRemover(self): if self.atividades_listwidget.currentItem(): event = { "codigo": 28, "descricao": "Botão REMOVER da tela CRIAR ROTINA" } self.subject.notify(event) def comboBoxMudouValor(self): event = { "codigo": 29, "descricao": "combo box DIAS da tela CRIAR ROTINA" } self.subject.notify(event)
class TelaDatas(QWidget): def __init__(self, parent=None): super(TelaDatas, self).__init__(parent) self.subject = ISubject() self._settings() self._createWidgets() self._setStyle() self._setConnects() def _settings(self): self.setFixedSize(800, 600) self.setWindowTitle("Datas") def _createWidgets(self): self.voltar_botao = button(self, "Voltar", 20, 20, 90, 40) self.calendario_widget = calendar(self, 90, 200, 320, 191) self.datas_listwidget = listWidget(self, 450, 200, 260, 192) self.adicionar_botao = button(self, "Adicionar", 90, 392, 320, 41) self.remover_botao = button(self, "Remover", 450, 392, 260, 41) self.finalizar_botao = button(self, "Finalizar", 325, 500, 150, 41) def _setStyle(self): self.setStyleSheet("background-color: rgb(54, 54, 54);") self.calendario_widget.setStyleSheet("color: rgb(210, 210, 210);") self.datas_listwidget.setStyleSheet('''color: rgb(210, 210, 210); border: 1px solid; border-top-left-radius: 4px; border-top-right-radius: 4px; border-color: rgb(84, 84, 84);''') style_button(button=self.voltar_botao, cor="cinza_escuro", tam_fonte="12", border_radius=(10, 10, 10, 10), rgb_da_letra="(210, 210, 210)") style_button(button=self.adicionar_botao, cor="verde", tam_fonte="12", border_radius=(0, 0, 5, 5), border_color="(123, 205, 126)") style_button(button=self.remover_botao, cor="vermelho", tam_fonte="12", border_radius=(0, 0, 5, 5), border_color="(205, 123, 123)") style_button(button=self.finalizar_botao, cor="azul", tam_fonte="12", border_radius=(5, 5, 5, 5), border_color="(123, 166, 205)") def _setConnects(self): self.voltar_botao.clicked.connect(self.botaoVoltar) self.adicionar_botao.clicked.connect(self.botaoAdicionar) self.remover_botao.clicked.connect(self.botaoRemover) self.finalizar_botao.clicked.connect(self.botaoFinalizar) def clear(self): self.datas_listwidget.clear() ano, mes, dia = hojeSplit() self.calendario_widget.setMinimumDate(QDate(ano, mes, dia)) self.calendario_widget.setSelectedDate(QDate(ano, mes, dia)) def botaoVoltar(self): event = { "codigo": 37, "descricao": "Botão VOLTAR da tela EDITAR DATAS" } self.subject.notify(event) def botaoAdicionar(self): event = {"codigo": 21, "descricao": "Botão ADICIONAR da tela DATAS"} self.subject.notify(event) def botaoRemover(self): event = {"codigo": 22, "descricao": "Botão REMOVER da tela DATAS"} self.subject.notify(event) def botaoFinalizar(self): event = {"codigo": 23, "descricao": "Botão FINALIZAR da tela DATAS"} self.subject.notify(event)
class TelaCriarFlashcards(QWidget): def __init__(self, parent=None): super(TelaCriarFlashcards, self).__init__(parent) self.subject = ISubject() self._settings() self._create_widgets() self._set_style() self._setConnects() def _settings(self): self.setFixedSize(800, 600) self.setWindowTitle("Criar flashcards") def _create_widgets(self): self.titulo_label = label(self, "Titulo", 148, 30, 60, 25) self.titulo_line = lineEdit(self, 192, 30, 440, 25) self.pergunta_label = label(self, "Pergunta", 102, 90, 65, 25) self.resposta_label = label(self, "Resposta", 407, 90, 65, 25) self.pergunta_texto = textEdit(self, 97, 115, 300, 240) self.resposta_texto = textEdit(self, 402, 115, 300, 240) self.adicionar_botao = button(self, "Adicionar", 97, 355, 605, 50) self.flashcards_label = label(self, "Flashcards", 100, 440, 60, 25) self.flashcards_box = comboBox(tela=self, duplicates=False, maxCount=40, x=165, y=440, largura=350, altura=25) self.deletar_botao = button(self, "Deletar", 520, 430, 177, 40) self.definir_datas_botao = button(self, "Definir datas", 97, 510, 302, 50) self.cancelar_botao = button(self, "Cancelar", 400, 510, 302, 50) def _set_style(self): self.setStyleSheet("background-color: rgb(54, 54, 54);") self.titulo_label.setStyleSheet( "color: rgb(210, 210, 210); font: 12pt;") self.pergunta_label.setStyleSheet( "color: rgb(210, 210, 210); font: 12pt;") self.resposta_label.setStyleSheet( "color: rgb(210, 210, 210); font: 12pt;") self.flashcards_label.setStyleSheet( "color: rgb(210, 210, 210); font: 10pt;") self.flashcards_box.setStyleSheet('''QComboBox{ border-radius: 4px; color: rgb(210, 210, 210); background-color: qlineargradient(x1:0, y1:0, x2:1,y2:1, stop: 1 rgba(210, 210, 210, 100), stop: 0 rgba(110, 110, 110, 100)); } QComboBox QAbstractItemView{ selection-background-color: rgb(34, 34, 34); color: rgb(210, 210, 210) }''') self.flashcards_box.setEditable(False) self.titulo_line.setStyleSheet('''color: rgb(210, 210, 210); border: 1px solid; border-radius: 4px; border-color: rgb(84, 84, 84); font: 14px;''') self.pergunta_texto.setStyleSheet('''color: rgb(210, 210, 210); border: 1px solid; border-top-left-radius: 4px; border-top-right-radius: 4px; border-color: rgb(84, 84, 84); font: 14px;''') self.resposta_texto.setStyleSheet('''color: rgb(210, 210, 210); border: 1px solid; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid; border-color: rgb(84, 84, 84); font: 14px;''') style_button(button=self.adicionar_botao, cor="azul", tam_fonte="12", border_radius=(0, 0, 5, 5), border_color="(123, 166, 205)") style_button(button=self.deletar_botao, cor="vermelho", tam_fonte="12", border_radius=(5, 5, 5, 5), border_color="(205, 123, 123)") style_button(button=self.definir_datas_botao, cor="verde", tam_fonte="12", border_radius=(5, 0, 5, 0), border_color="(123, 205, 126)") style_button(button=self.cancelar_botao, cor="vermelho", tam_fonte="12", border_radius=(0, 5, 0, 5), border_color="(205, 123, 123)") def _setConnects(self): self.adicionar_botao.clicked.connect(self.botaoAdicionar) self.deletar_botao.clicked.connect(self.botaoDeletar) self.definir_datas_botao.clicked.connect(self.botaoDefinirDatas) self.cancelar_botao.clicked.connect(self.botaoCancelar) def clear(self, *widget_names): self.flashcards_box.clear() self.pergunta_texto.clear() self.resposta_texto.clear() self.titulo_line.clear() def botaoAdicionar(self): event = { "codigo": 6, "descricao": "Botão ADICIONAR da tela CRIAR FLASHCARDS" } self.subject.notify(event) def botaoDeletar(self): event = { "codigo": 7, "descricao": "Botão DELETAR da tela CRIAR FLASHCARDS" } self.subject.notify(event) def botaoDefinirDatas(self): event = { "codigo": 8, "descricao": "Botão DEFINIR DATAS da tela CRIAR FLASHCARDS" } self.subject.notify(event) def botaoCancelar(self): event = { "codigo": 9, "descricao": "Botão CANCELAR da tela CRIAR FLASHCARDS" } self.subject.notify(event)
class TelaInicial(QWidget): def __init__(self, parent=None): super(TelaInicial, self).__init__(parent) self.subject = ISubject() self._settings() self._create_widgets() self._set_style() self._setConnects() def _settings(self): self.setFixedSize(350, 620) self.setWindowTitle("Inicio") def _create_widgets(self): self.rotina_botao = button(self, "Rotina", 20, 30, 310, 60) self.revisoes_botao = button(self, "Revisões", 20, 130, 310, 60) self.criar_rotina_botao = button(self, "Criar rotina", 20, 230, 310, 60) self.criar_flashcards_botao = button(self, "Criar flashcards", 20, 330, 310, 60) self.flashcards_botao = button(self, "Flashcards", 20, 430, 310, 60) self.historico_botao = button(self, "Histórico", 20, 530, 310, 60) def _set_style(self): self.setStyleSheet("background-color: rgb(54, 54, 54);") style_button(button=self.rotina_botao, cor="cinza_escuro", tam_fonte="14", border_radius=(5, 5, 5, 5), rgb_da_letra="(210, 210, 210)") style_button(button=self.revisoes_botao, cor="cinza_escuro", tam_fonte="14", border_radius=(5, 5, 5, 5), rgb_da_letra="(210, 210, 210)") style_button(button=self.criar_rotina_botao, cor="cinza_escuro", tam_fonte="14", border_radius=(5, 5, 5, 5), rgb_da_letra="(210, 210, 210)") style_button(button=self.criar_flashcards_botao, cor="cinza_escuro", tam_fonte="14", border_radius=(5, 5, 5, 5), rgb_da_letra="(210, 210, 210)") style_button(button=self.flashcards_botao, cor="cinza_escuro", tam_fonte="14", border_radius=(5, 5, 5, 5), rgb_da_letra="(210, 210, 210)") style_button(button=self.historico_botao, cor="cinza_escuro", tam_fonte="14", border_radius=(5, 5, 5, 5), rgb_da_letra="(210, 210, 210)") def _setConnects(self): self.rotina_botao.clicked.connect(self.botaoRotina) self.revisoes_botao.clicked.connect(self.botaoRevisoes) self.criar_rotina_botao.clicked.connect(self.botaoCriarRotina) self.criar_flashcards_botao.clicked.connect(self.botaoCriarFlashcards) self.flashcards_botao.clicked.connect(self.botaoFlashcards) self.historico_botao.clicked.connect(self.botaoHistorico) def botaoRevisoes(self): event = {"codigo": 0, "descricao": "Botão REVISOES da tela INICIAL"} self.subject.notify(event) def botaoCriarFlashcards(self): event = { "codigo": 1, "descricao": "Botão CRIAR FLASHCARDS da tela INICIAL" } self.subject.notify(event) def botaoFlashcards(self): event = {"codigo": 2, "descricao": "Botão FLASHCARDS da tela INICIAL"} self.subject.notify(event) def botaoRotina(self): event = {"codigo": 24, "descricao": "Botão ROTINA da tela INICIAL"} self.subject.notify(event) def botaoCriarRotina(self): event = { "codigo": 25, "descricao": "Botão CRIAR ROTINA da tela INICIAL" } self.subject.notify(event) def botaoHistorico(self): event = {"codigo": 33, "descricao": "Botão HISTÓRICO da tela INICIAL"} self.subject.notify(event)
class TelaHistorico(QWidget): def __init__(self, parent=None): super(TelaHistorico, self).__init__(parent) self.subject = ISubject() self._settings() self._create_widgets() self._set_style() self._setConnects() def _settings(self): self.setFixedSize(800, 600) self.setWindowTitle("Histórico") def _create_widgets(self): self.voltar_botao = button(self, "Voltar", 20, 20, 90, 40) self.historico_label = label(self, "Histórico", 350, 80, 100, 30) self.tabela_historico = table(self, 110, 110, 580, 400) #Table will fit the screen horizontally self.tabela_historico.horizontalHeader().setStretchLastSection(True) self.tabela_historico.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded) self.tabela_historico.horizontalHeader().setDefaultSectionSize(275) self.tabela_historico.setColumnCount(2) self.editar_botao = button(self, "Editar", 110, 510, 580, 50) def _set_style(self): self.setStyleSheet("background-color: rgb(54, 54, 54);") self.historico_label.setStyleSheet("color: rgb(210, 210, 210);font: 16pt;") self.tabela_historico.setStyleSheet('''QTableWidget{ color: rgb(210, 210, 210); border: 1px solid; border-top-left-radius: 4px; border-top-right-radius: 4px; border-color: rgb(84, 84, 84); font: 14px }''') style_button(button=self.voltar_botao, cor="cinza_escuro", tam_fonte="12", border_radius=(10, 10, 10, 10), rgb_da_letra="(210, 210, 210)") style_button(button=self.editar_botao, cor="azul", tam_fonte="12", border_radius=(0, 0, 5, 5), border_color="(123, 166, 205)") def _setConnects(self): self.voltar_botao.clicked.connect(self.botaoVoltar) self.editar_botao.clicked.connect(self.botaoEditar) def clear(self): self.tabela_historico.clear() def botaoVoltar(self): event = {"codigo": 32, "descricao": "Botão VOLTAR da tela HISTÓRICO"} self.subject.notify(event) def botaoEditar(self): if self.tabela_historico.currentItem(): event = {"codigo": 34, "descricao": "Botão EDITAR da tela HISTÓRICO"} self.subject.notify(event) def adicionarItemTabela(self, linha, valores): lista_data = valores[0].split("-") data = QTableWidgetItem(lista_data[2] + "/" + lista_data[1] + "/" + lista_data[0]) porcentagem_de_conclusao = QTableWidgetItem(str(valores[1]) + "%") data.setTextAlignment(Qt.AlignCenter) porcentagem_de_conclusao.setTextAlignment(Qt.AlignCenter) self.tabela_historico.setItem(linha, 0, data) self.tabela_historico.setItem(linha, 1, porcentagem_de_conclusao)
class TelaOpcoesRevisao(QWidget): def __init__(self, parent=None): super(TelaOpcoesRevisao, self).__init__(parent) self.subject = ISubject() self._settings() self._createWidgets() self._setStyle() self._setConnects() def _settings(self): self.setFixedSize(400, 300) self.setWindowTitle("Opções") def _createWidgets(self): self.qtd_ciclos_label = label( self, "Quantos ciclos (repetições dos flashcards)?", 0, 30, 400, 30) self.qtd_ciclos_label.setAlignment(Qt.AlignCenter) self.qtd_ciclos_spinbox = spinBox(self, 145, 60, 110, 20) self.modo_do_ciclo_groupbox = groupBox(self, "Modo do ciclo", 10, 120, 380, 80) self.revisar_botao = button(self, "Revisar", 80, 230, 100, 30) self.voltar_botao = button(self, "Voltar", 220, 230, 100, 30) self.ordenar_flashcards_radiobutton = QRadioButton( "Ordenar flashcards com base nos acertos e erros") self.ordenar_flashcards_radiobutton.setChecked(True) self.retirar_flashcard_radiobutton = QRadioButton( "Retirar flashcard ao acertar") vlayout = QVBoxLayout() vlayout.addWidget(self.ordenar_flashcards_radiobutton) vlayout.addWidget(self.retirar_flashcard_radiobutton) self.modo_do_ciclo_groupbox.setLayout(vlayout) def _setStyle(self): self.setStyleSheet("background-color: rgb(54, 54, 54);") self.qtd_ciclos_label.setStyleSheet( "color: rgb(210, 210, 210); font: 12pt;") self.ordenar_flashcards_radiobutton.setStyleSheet( "color: rgb(210, 210, 210); font: 12pt;") self.retirar_flashcard_radiobutton.setStyleSheet( "color: rgb(210, 210, 210); font: 12pt;") self.modo_do_ciclo_groupbox.setStyleSheet( "color: rgb(210, 210, 210); font: 12pt;") self.qtd_ciclos_spinbox.setStyleSheet( "color: rgb(210, 210, 210); font: 12pt;") style_button(button=self.revisar_botao, cor="azul", tam_fonte="12", border_radius=(5, 5, 5, 5), border_color="(123, 166, 205)") style_button(button=self.voltar_botao, cor="cinza_escuro", tam_fonte="12", border_radius=(5, 5, 5, 5), rgb_da_letra="(210, 210, 210)") def _setConnects(self): self.revisar_botao.clicked.connect(self.botaoRevisar) self.voltar_botao.clicked.connect(self.botaoVoltar) def clear(self): self.qtd_ciclos_spinbox.clear() def botaoRevisar(self): event = { "codigo": 13, "descricao": "Botão REVISAR da tela OPCOES REVISAO" } self.subject.notify(event) def botaoVoltar(self): event = { "codigo": 14, "descricao": "Botão VOLTAR da tela OPCOES REVISAO" } self.subject.notify(event)
class TelaEditarHistorico(QWidget): def __init__(self, parent=None): super(TelaEditarHistorico, self).__init__(parent) self.subject = ISubject() self._settings() self._create_widgets() self._set_style() self._setConnects() def _settings(self): self.setFixedSize(800, 600) self.setWindowTitle("Editar histórico") def _create_widgets(self): self.voltar_botao = button(self, "Voltar", 20, 20, 90, 40) self.data_label = label(self, "", 115, 80, 193, 30) self.data_label.setAlignment(Qt.AlignLeft) self.dia_label = label(self, "", 303, 80, 193, 30) self.dia_label.setAlignment(Qt.AlignCenter) self.porcentagem_barra_progresso = progressBar(self, 500, 80, 193, 25) self.tabela_editar = table(self, 110, 110, 580, 400) #Table will fit the screen horizontally self.tabela_editar.horizontalHeader().setStretchLastSection(True) self.tabela_editar.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded) self.tabela_editar.horizontalHeader().setDefaultSectionSize(275) self.tabela_editar.setColumnCount(2) self.salvar_botao = button(self, "Salvar", 110, 510, 580, 50) def _set_style(self): self.setStyleSheet("background-color: rgb(54, 54, 54);") self.data_label.setStyleSheet("color: rgb(210, 210, 210);font: 16pt;") self.dia_label.setStyleSheet("color: rgb(210, 210, 210);font: 16pt;") self.porcentagem_barra_progresso.setStyleSheet( "color: rgb(210, 210, 210);font: 16pt;") self.tabela_editar.setStyleSheet('''QTableWidget{ color: rgb(210, 210, 210); border: 1px solid; border-top-left-radius: 4px; border-top-right-radius: 4px; border-color: rgb(84, 84, 84); font: 14px }''') style_button(button=self.voltar_botao, cor="cinza_escuro", tam_fonte="12", border_radius=(10, 10, 10, 10), rgb_da_letra="(210, 210, 210)") style_button(button=self.salvar_botao, cor="azul", tam_fonte="12", border_radius=(0, 0, 5, 5), border_color="(123, 166, 205)") def _setConnects(self): self.voltar_botao.clicked.connect(self.botaoVoltar) self.salvar_botao.clicked.connect(self.botaoSalvar) def clear(self): self.tabela_editar.clear() def botaoVoltar(self): event = { "codigo": 35, "descricao": "Botão VOLTAR da tela EDITAR HISTÓRICO" } self.subject.notify(event) def botaoSalvar(self): event = { "codigo": 36, "descricao": "Botão SALVAR da tela EDITAR HISTÓRICO" } self.subject.notify(event) def adicionarItemTabela(self, linha, valores): atividade = QTableWidgetItem(valores[0]) state = QTableWidgetItem(str(valores[1])) atividade.setTextAlignment(Qt.AlignCenter) state.setTextAlignment(Qt.AlignCenter) self.tabela_editar.setItem(linha, 0, atividade) self.tabela_editar.setItem(linha, 1, state)
class TelaRevisoes(QWidget): def __init__(self, parent=None): super(TelaRevisoes, self).__init__(parent) self.subject = ISubject() self._settings() self._create_widgets() self._set_style() self._setConnects() def _settings(self): self.setFixedSize(800, 600) self.setWindowTitle("Revisões") def _create_widgets(self): self.voltar_botao = button(self, "Voltar", 20, 20, 90, 40) self.revisoes_atrasadas_label = label(self, "Revisões atrasadas", 100, 158, 160, 50) self.revisoes_do_dia_label = label(self, "Revisões do dia", 405, 158, 140, 50) self.revisoes_atrasadas_lista = listWidget(self, 95, 200, 300, 240) self.revisoes_do_dia_lista = listWidget(self, 400, 200, 300, 240) self.revisar_atrasado_botao = button(self, "Revisar atrasado", 95, 440, 300, 41) self.revisar_atual_botao = button(self, "Revisar do dia", 400, 440, 300, 41) def _set_style(self): self.setStyleSheet("background-color: rgb(54, 54, 54);") self.revisoes_atrasadas_label.setStyleSheet( "color: rgb(210, 210, 210); font: 14pt;") self.revisoes_do_dia_label.setStyleSheet( "color: rgb(210, 210, 210); font: 14pt;") self.revisoes_atrasadas_lista.setStyleSheet( '''color: rgb(210, 210, 210); border: 1px solid; border-top-left-radius: 4px; border-top-right-radius: 4px; border-color: rgb(84, 84, 84); font: 14px;''') self.revisoes_do_dia_lista.setStyleSheet('''color: rgb(210, 210, 210); border: 1px solid; border-top-left-radius: 4px; border-top-right-radius: 4px; border-color: rgb(84, 84, 84); font: 14px;''') style_button(button=self.voltar_botao, cor="cinza_escuro", tam_fonte="12", border_radius=(5, 5, 5, 5), rgb_da_letra="(210, 210, 210)") style_button(button=self.revisar_atrasado_botao, cor="cinza_escuro", tam_fonte="12", border_radius=(0, 0, 5, 5), rgb_da_letra="(210, 210, 210)") style_button(button=self.revisar_atual_botao, cor="cinza_escuro", tam_fonte="12", border_radius=(0, 0, 5, 5), rgb_da_letra="(210, 210, 210)") def _setConnects(self): self.voltar_botao.clicked.connect(self.botaoVoltar) self.revisar_atrasado_botao.clicked.connect(self.botaoRevisarAtrasado) self.revisar_atual_botao.clicked.connect(self.botaoRevisarAtual) def clear(self): self.revisoes_atrasadas_lista.clear() self.revisoes_do_dia_lista.clear() def botaoVoltar(self): event = {"codigo": 3, "descricao": "Botão VOLTAR da tela REVISOES"} self.subject.notify(event) def botaoRevisarAtrasado(self): if self.revisoes_atrasadas_lista.currentItem(): event = { "codigo": 4, "descricao": "Botão REVISAR ATRASADO da tela REVISOES" } self.subject.notify(event) def botaoRevisarAtual(self): if self.revisoes_do_dia_lista.currentItem(): event = { "codigo": 5, "descricao": "Botão REVISAR ATUAL da tela REVISOES" } self.subject.notify(event)
class TelaRotina(QWidget): def __init__(self, parent=None): super(TelaRotina, self).__init__(parent) self.subject = ISubject() self._settings() self._createWidgets() self._setStyle() self._setConnects() def _settings(self): self.setFixedSize(610, 490) self.setWindowTitle("Rotina") def _createWidgets(self): self.voltar_botao = button(self, "Voltar", 20, 20, 90, 40) self.atividades = label(self, "", 160, 110, 300, 20) self.atividades.setAlignment(Qt.AlignCenter) self.atividades_listwidget = listWidget(self, 160, 135, 300, 250) def _setStyle(self): self.setStyleSheet("background-color: rgb(54, 54, 54);") self.atividades.setStyleSheet("color: rgb(210, 210, 210); font: 14pt;") self.atividades_listwidget.setStyleSheet('''color: rgb(210, 210, 210); border: 1px solid; border-top-left-radius: 4px; border-top-right-radius: 4px; border-color: rgb(84, 84, 84); font: 14px''') style_button(button=self.voltar_botao, cor="cinza_escuro", tam_fonte="12", border_radius=(10, 10, 10, 10), rgb_da_letra="(210, 210, 210)") def _setConnects(self): self.voltar_botao.clicked.connect(self.botaoVoltar) self.atividades_listwidget.itemChanged.connect(self.listaCheckbox) def clear(self): self.atividades_listwidget.clear() def botaoVoltar(self): event = {"codigo": 30, "descricao": "Botão VOLTAR da tela ROTINA"} self.subject.notify(event) def listaCheckbox(self): event = { "codigo": 31, "descricao": "lista checkbox ATIVIDADES da tela ROTINA" } self.subject.notify(event) def adicionarCheckBox(self, titulo, state): item = QListWidgetItem(titulo) item.setFlags(item.flags() | Qt.ItemIsUserCheckable) if state: item.setCheckState(Qt.Checked) else: item.setCheckState(Qt.Unchecked) self.atividades_listwidget.addItem(item) return item
class TelaFlashcards(QWidget): def __init__(self, parent=None): super(TelaFlashcards, self).__init__(parent) self.subject = ISubject() self._settings() self._create_widgets() self._set_style() self._setConnects() def _settings(self): self.setFixedSize(800, 600) self.setWindowTitle("flashcards") def _create_widgets(self): self.voltar_botao = button(self, "Voltar", 20, 20, 90, 40) self.flashcards_label = label(self, "Flashcards", 350, 80, 100, 30) self.flashcards_lista = listWidget(self, 110, 110, 580, 400) self.editar_botao = button(self, "Editar", 110, 510, 290, 51) self.deletar_botao = button(self, "Deletar", 400, 510, 290, 51) def _set_style(self): self.setStyleSheet("background-color: rgb(54, 54, 54);") self.flashcards_label.setStyleSheet("color: rgb(210, 210, 210);font: 16pt;") self.flashcards_lista.setStyleSheet('''color: rgb(210, 210, 210); border: 1px solid; border-top-left-radius: 4px; border-top-right-radius: 4px; border-color: rgb(84, 84, 84); font: 14px''') style_button(button=self.voltar_botao, cor="cinza_escuro", tam_fonte="12", border_radius=(10, 10, 10, 10), rgb_da_letra="(210, 210, 210)") style_button(button=self.editar_botao, cor="azul", tam_fonte="13", border_radius=(0, 0, 5, 0), border_color="(123, 166, 205)") style_button(button=self.deletar_botao, cor="vermelho", tam_fonte="13", border_radius=(0, 0, 0, 5), border_color="(205, 123, 123)") def _setConnects(self): self.voltar_botao.clicked.connect(self.botaoVoltar) self.editar_botao.clicked.connect(self.botaoEditar) self.deletar_botao.clicked.connect(self.botaoDeletar) def clear(self): self.flashcards_lista.clear() def botaoVoltar(self): event = {"codigo": 10, "descricao": "Botão VOLTAR da tela FLASHCARDS"} self.subject.notify(event) def botaoEditar(self): if self.flashcards_lista.currentItem(): event = {"codigo": 11, "descricao": "Botão EDITAR da tela FLASHCARDS"} self.subject.notify(event) def botaoDeletar(self): if self.flashcards_lista.currentItem(): event = {"codigo": 12, "descricao": "Botão DELETAR da tela FLASHCARDS"} self.subject.notify(event)