Um aplicativo To-Do é um projeto clássico para qualquer programador iniciante. Descubra como construir um usando Python e Tkinter.
Um aplicativo To-Do, às vezes chamado de gerenciador de tarefas, permite que os usuários organizem e gerenciem suas tarefas com mais eficiência. Você pode criar uma lista de tarefas diárias ou semanais, definir prazos e lembretes, priorizá-los, acompanhar seu progresso e compartilhá-los com outras pessoas.
Um aplicativo To-Do permite gerenciar o tempo, aumentar a produtividade e reduzir o estresse. Então, como você pode construir um em Python?
O Módulo Tkinter
Você pode usar o Tkinter para construir o aplicativo To-Do. Tkinter permite que você crie aplicativos de desktop. Ele oferece uma variedade de widgets como botões, rótulos e caixas de texto que facilitam o desenvolvimento de aplicativos. Alguns aplicativos que você pode desenvolver usando o Tkinter incluem um aplicativo de dicionário, Reprodutor de música, a Ferramenta de conversão de peso, e um jogo de palavras cruzadas.
Para instalar o Tkinter, abra um terminal e execute:
pip instalar tkinter
Como construir um aplicativo de tarefas usando Python
Você pode encontrar o código-fonte do aplicativo To-Do neste Repositório GitHub.
Importe o módulo Tkinter e inicialize a janela raiz. Usando o configurar() função, defina a cor de fundo. Defina também o título e o tamanho da janela.
de tkinter importar *
de tkinter.font importar Fonte
raiz = Tk()
root.configure (background="#A020f0")
root.title('Aplicativo de lista de tarefas')
raiz.geometria("750 x 500")
Defina um estilo de fonte e um widget de quadro. Um quadro atua como um contêiner e é responsável por organizar a posição de outros widgets. Defina a janela pai na qual você deseja colocá-la e dê a ela um preenchimento vertical de 10.
Defina um widget de caixa de listagem. Este componente exibe uma lista de itens para o usuário selecionar. Defina a janela principal na qual deseja colocá-la, o estilo da fonte, a largura, a altura, a cor do plano de fundo, a largura da borda e a cor da fonte. Além disso, defina a espessura do realce do foco, a cor de fundo que deve ter quando selecionada e a aparência da linha ativa como Nenhum.
Organize a lista colocando-a no lado esquerdo e dizendo para preencher qualquer espaço extra em ambas as direções.
minha_fonte = Fonte (família ="Arial", tamanho=22, peso="audacioso")
my_frame = Quadro (raiz)
my_frame.pack (pady=10)
minha_lista = Caixa de listagem (minha_estrutura, fonte=minha_fonte, largura=40, altura=7, bg ="#cf9fff", bd =0, fg ="#5c4033", espessura de destaque =0, selecionefundo="#ff0000", estilo ativo="nenhum")
my_list.pack (lado=ESQUERDA, preenchimento=AMBOS)
Defina uma barra de rolagem que o programa exibirá no lado direito do quadro, preenchendo qualquer espaço extra em ambas as direções. Use o config() para vincular a barra de rolagem ao widget de caixa de listagem definido anteriormente. Ao definir o valor do comando yscroll como my_scrollbar.set obtém a posição atual da barra de rolagem na interação do usuário.
Ao definir o parâmetro de comando como minha_lista.yview, o movimento da barra de rolagem fica vinculado às funções para cima e para baixo. Portanto, quando o usuário interage com a barra de rolagem, as exibições da caixa de listagem mudam de acordo.
my_scrollbar = barra de rolagem (my_frame)
my_scrollbar.pack (lado=DIREITA, preenchimento=AMBOS)
my_list.config (yscrollcommand=my_scrollbar.set)
my_scrollbar.config (command=my_list.yview)
Defina um widget de entrada para aceitar tarefas como entrada do usuário. Defina a janela principal na qual deseja colocá-la, o estilo da fonte, a largura e a cor do plano de fundo. Organize-o adicionando um padding de 20 na direção vertical.
Defina um quadro para organizar seus botões. Coloque-os na janela raiz e dê uma cor de fundo. Organize o quadro com um preenchimento de 20 na direção vertical também.
minha_entrada = Entrada (raiz, fonte=("Arial", 22), largura =26, bg ='#cf9fff')
my_entry.pack (pady=20)
button_frame = Quadro (root, bg='#a020f0')
button_frame.pack (pady=20)
Defina uma função, apagar item(). Passe o ÂNCORA parâmetro para a função delete para remover o item selecionado da lista.
defapagar item():
minha_lista.delete (ANCHOR)
Defina uma função, adicionar Item(). Use o pegar() função para recuperar o valor inserido pelo usuário ao final da lista. Se a lista estiver vazia, o elemento adicionado se tornará a primeira entrada na lista. Depois de adicionar o elemento à lista, você precisa removê-lo do widget de entrada. Use a função delete para remover o texto inserido do início ao fim de seu comprimento.
defadicionar Item():
minha_lista.insert (END, minha_entrada.get())
minha_entrada.delete(0, FIM)
Defina uma função, cross_off_item(). Use o item_config() método para alterar a cor da fonte da tarefa do item selecionado na lista para uma cor fraca, você riscou o item. Limpe a seleção que você fez agora do início ao fim de seu comprimento.
defcross_off_item():
my_list.itemconfig (my_list.curselection(), fg="#dedede")
minha_lista.selection_clear(0, FIM)
Defina uma função, uncross_item(). Semelhante à função acima, altere a cor da tarefa selecionada de volta ao original e limpe a seleção completamente.
defuncross_item():
my_list.itemconfig (my_list.curselection(), fg="#5c4033")
minha_lista.selection_clear(0, FIM)
Defina uma função, delete_crossed(). Defina uma variável de contador e itere até que seja menor que o tamanho da lista. Se a cor da fonte do item estiver fraca, exclua esse item da lista. Caso contrário, continue a iteração incrementando a variável do contador.
defdelete_crossed():
contagem = 0
enquanto contagem < minha_lista.size():
se minha_lista.itemcget (contagem, "fg") == "#dedede":
minha_lista.delete (minha_lista.index (contagem))
outro:
contar += 1
Defina cinco botões: excluir, adicionar, riscar, desmarcar e excluir riscado. Coloque os botões no quadro de botões que você criou anteriormente. Defina o texto que cada botão deve exibir, a função que deve executar quando você clicar nele, a cor de fundo e o estilo da fonte.
delete_button = Botão (button_frame, text="Apagar item", comando=delete_item, bg="#e7305b", fonte=("arial", 12, "audacioso"))
add_button = Botão (button_frame, text="Adicionar Item", comando=add_item, bg="#e7305b", fonte=("arial", 12, "audacioso"))
cross_off_button = Botão (button_frame, text="Item de Cruzamento", comando=cross_off_item, bg="#e7305b", fonte=("arial", 12, "audacioso"))
uncross_button = Botão (button_frame, text="Descruzar item", comando=uncross_item, bg="#e7305b", fonte=("arial", 12, "audacioso"))
delete_crossed_button = Botão (button_frame, text="Excluir cruzado", comando=delete_crossed, bg="#e7305b", fonte=("arial",12, "audacioso"))
Organize os botões usando o gerenciador de grade em uma única linha e cinco colunas. Defina um preenchimento de 0 na direção horizontal para alocar algum espaçamento entre os botões,
delete_button.grid (linha=0, coluna=0)
add_button.grid (linha=0, coluna=1, padx=20)
cross_off_button.grid (linha=0, coluna=2)
uncross_button.grid (linha=0, coluna=3, padx=20)
delete_crossed_button.grid (linha=0, coluna=4)
O circuito principal() A função diz ao Python para executar o loop de eventos Tkinter e escutar os eventos até que você feche a janela.
root.mainloop()
Junte todo o código e nunca perca nenhuma tarefa usando este eficiente aplicativo To-Do List.
Saída do aplicativo de tarefas pendentes usando Python
Ao executar o programa acima, aparecerá uma janela na qual você poderá inserir as tarefas que deseja realizar. Ao adicionar a tarefa e pressionar o botão Adicionar Item botão, a tarefa é adicionada à tela.
Ao selecionar qualquer uma das tarefas com o mouse/teclado e clicar no Cruzar item botão, a tarefa selecionada muda de cor e fica esmaecida.
Ao selecionar o item cruzado e clicar no botão Descruzar Item botão, o programa destaca a tarefa de volta à sua cor original.
Ao clicar no Excluir Cruzado botão, o programa exclui a tarefa riscada. Ao selecionar qualquer item e clicar no Apagar item botão, o item selecionado é removido.
Aplicativos que você pode criar usando Python para aumentar sua produtividade
Você pode criar aplicativos como o RescueTime, que rastreia quanto tempo um usuário gasta em qual aplicativo. Esses aplicativos podem ajudá-lo a descobrir quais sites causam mais distração. Além disso, você pode se inspirar no Trello para criar quadros com listas de tarefas, prazos e lembretes.
Um aplicativo de música que reproduz uma lista de reprodução especialmente projetada pode ajudar os usuários a se concentrarem e se concentrarem no trabalho. Você pode até mesmo automatizar programas GUI para executar tarefas repetitivas, como processos de login e scripts para interagir com a área de trabalho.