A simple and efficient desktop Task Manager application built using Python's Tkinter library. This application allows users to create, organize, and manage their tasks with features like importance marking and filtering.
- Add Tasks: Create new tasks with optional importance marking
- Remove Tasks: Delete selected tasks from the list
- Task Filtering: Toggle between viewing "All" tasks or only "Important" tasks
- Task Organization: Automatic date/time stamping for each task
- Clean Layout: Minimalist design with intuitive controls
- Responsive Design: Window resizing with proper element scaling
- Visual Separation: Tasks are displayed with horizontal separators for better readability
- Compact Input: Space-efficient text area with streamlined controls
- Python 3.x - Core programming language
- Tkinter - Python's standard GUI package
- ttk - Themed widgets for enhanced appearance
- tkinter - Main GUI framework
- tkinter.ttk - Enhanced themed widgets tkinter.font - Font customization
- datetime - Date and time handling
- Tk - Main application window
- Frame - Container for organizing widgets
- Text - Multi-line text input for tasks
- Checkbutton - Importance marking toggle
- Button - Action triggers (Add/Remove)
- Combobox - Filter dropdown selector
- Treeview - Tabular display for tasks
- Label - Text displays and headings
- Window setup with dimensions and resizing properties
- Font configuration for consistent styling
- UI element creation and layout management
- init() - Initializes application and UI components
- add_task() - Handles task creation and validation
- remove_task() - Manages task deletion with proper indexing
- refresh_task_list() - Updates task display based on filters
- Tasks stored in a list of dictionaries
- Automatic timestamp in DD/MM/YYYY format
- Importance flag for task prioritization
- Single-column layout for simplicity
- Visual separators between tasks
- Compact input area to maximize task display space
- Responsive window behavior
- Dynamic task filtering between "All" and "Important"
- Real-time list updates without page refresh
- Persistent task data during filter changes
- Empty task validation
- Proper selection handling for removal
- Robust indexing for filtered views
- Python 3.x installed
- Tkinter (usually comes with Python installation)
python task_manager.py
1.Adding Tasks:
- Type task in text area
- Check "Mark Important" if needed
- Click "Add Task" 2.Viewing Tasks:
- Use dropdown to filter between "All" or "Important" tasks
- Tasks display with creation timestamp 3.Removing Tasks:
- Select a task from the list
- Click "Remove Task"
- Multi-line text area for task description
- Importance checkbox
- Add task button
- Filter dropdown (All/Important)
- Task list with horizontal separators
- Creation date and time display
- Remove task functionality
- Visual feedback for user actions
- Lightweight and no external dependencies
- Cross-platform compatibility
- Simple deployment
- Built-in with Python
- Pack geometry manager for simplicity
- Nested frames for organized structure
- Responsive column widths
- Consistent padding and spacing
Potential improvements that could be added:
- Task editing functionality
- Task categories/tags
- Due dates and reminders
- Data persistence (save/load from file)
- Task completion status
- Search functionality
- Export capabilities
This application demonstrates:
- Object-oriented programming with Python
- GUI development with Tkinter
- Event-driven programming
- Data management and filtering
- User interface design principles
- The code is modular and easily extensible for additional features while maintaining a clean and user-friendly interface.