示例#1
0
    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()
示例#3
0
    def __init__(self, parent=None):
        super(TelaHistorico, self).__init__(parent)

        self.subject = ISubject()

        self._settings()
        self._create_widgets()
        self._set_style()
        self._setConnects()
示例#4
0
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)
示例#5
0
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)
示例#6
0
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)
示例#8
0
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)
示例#9
0
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)
示例#10
0
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)
示例#11
0
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)
示例#12
0
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)
示例#13
0
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
示例#14
0
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)