Below here is the source code for Task Manager for kivy. Please if you like this content. Don't forget to Subscribe to my YouTube Channel here now on Python Programming now or other programming content now and please support me on PayPal Now for better content! and Join our WhatsApp group here or here also with our Telegram group here to start learning now! Thanks!
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
import pickle
class TaskManager(App):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.tasks = []
def add_task(self, instance):
if len(self.tasks) < 4:
task_text = self.task_input.text
if task_text:
self.tasks.append(task_text)
self.update_task_list()
def update_task_list(self):
self.task_list.clear_widgets()
for task in self.tasks:
task_label = Label(text=task)
delete_button = Button(text='Delete')
delete_button.bind(on_press=lambda instance, task = task: self.delete_task(task))
self.task_list.add_widget(task_label)
self.task_list.add_widget(delete_button)
def delete_task(self, task_text):
self.tasks.remove(task_text)
self.update_task_list()
def build(self):
layout = BoxLayout(orientation='vertical', padding=10)
self.task_input = TextInput(hint_text = 'Enter your task here')
add_button = Button(text='Add Task')
add_button.bind(on_press = self.add_task)
self.task_list = BoxLayout(orientation='vertical')
layout.add_widget(self.task_input)
layout.add_widget(add_button)
layout.add_widget(Label(text='Tasks:'))
layout.add_widget(self.task_list)
self.load_tasks()
return layout
def on_stop(self):
self.save_tasks()
def save_tasks(self):
with open("tasks.pkl","wb") as f:
pickle.dump(self.tasks, f)
def load_tasks(self):
try:
with open("tasks.pkl","rb") as f:
self.tasks = pickle.load(f)
self.update_task_list()
except FileNotFoundError:
pass
TaskManager().run()
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
import pickle
class TaskManager(App):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.tasks = []
def add_task(self, instance):
if len(self.tasks) < 4:
task_text = self.task_input.text
if task_text:
self.tasks.append(task_text)
self.update_task_list()
def update_task_list(self):
self.task_list.clear_widgets()
for task in self.tasks:
task_label = Label(text=task)
delete_button = Button(text='Delete')
delete_button.bind(on_press=lambda instance, task = task: self.delete_task(task))
self.task_list.add_widget(task_label)
self.task_list.add_widget(delete_button)
def delete_task(self, task_text):
self.tasks.remove(task_text)
self.update_task_list()
def build(self):
layout = BoxLayout(orientation='vertical', padding=10)
self.task_input = TextInput(hint_text = 'Enter your task here')
add_button = Button(text='Add Task')
add_button.bind(on_press = self.add_task)
self.task_list = BoxLayout(orientation='vertical')
layout.add_widget(self.task_input)
layout.add_widget(add_button)
layout.add_widget(Label(text='Tasks:'))
layout.add_widget(self.task_list)
self.load_tasks()
return layout
def on_stop(self):
self.save_tasks()
def save_tasks(self):
with open("tasks.pkl","wb") as f:
pickle.dump(self.tasks, f)
def load_tasks(self):
try:
with open("tasks.pkl","rb") as f:
self.tasks = pickle.load(f)
self.update_task_list()
except FileNotFoundError:
pass
TaskManager().run()
No comments:
Post a Comment