diff --git a/Projects/Calendar_Generator_YearWise/Calendar.py b/Projects/Calendar_Generator_YearWise/Calendar.py new file mode 100644 index 0000000..91bb0bb --- /dev/null +++ b/Projects/Calendar_Generator_YearWise/Calendar.py @@ -0,0 +1,87 @@ +# import all functions from the tkinter +from tkinter import Tk, Label, Entry, Button + +from tkinter import ttk + +#import Calendar module +import calendar + +def showCal(): + + #new calendar window + new_window = Toplevel() + + #setting the background color of GUI application + new_window.config(background = 'white') + + #setting the title of the GUI application + new_window.title("Calendar") + + #setting the geometry of the GUI application + new_window.geometry('550x600') + + # get method returns current text as string + fetch_year = int(year_field.get()) + + # calendar method of calendar module return + # the calendar of the given year . + cal_content = calendar.calendar(fetch_year) + + # Create a label for showing the content of the calender + cal_year = Label(new_window, text = cal_content, font = "Consolas 10 bold") + + # grid method is used for placing + # the widgets at respective positions + # in table like structure. + cal_year.grid(row = 5, column = 1, padx = 20) + + # start the GUI + new_window.mainloop() + + +if __name__=='__main__': + + #Create the basic gui window + root = Tk() + + #setting the background color of GUI application + root.config(background = 'white') + + #setting the title of the GUI application + root.title("HOME") + + #setting the geometry of the GUI application + root.geometry('500x400') + + # Create a CALENDAR : label with specified font and size + cal = Label(root, text = "Welcome to the calendar Application", bg = "Red", font = ("times", 20, 'bold')) + + #Create a Year label : a label to ask the user for year + year = Label(root, text = 'Please enter a year',bg = 'Green') + + #Create a Year Entry : Entry + year_field = Entry(root) + + # Create a Show Calendar Button and attached to showCal function + Show = Button(root, text = "Show Calendar", fg = "Black", bg = "Light Green", command = showCal) + + # Create a Exit Button and attached to exit function + Exit = Button(root, text = "Exit", fg = "Black", bg = "Light Green", command = exit) + + # grid method is used for placing + # the widgets at respective positions + # in table like structure. + cal.grid(row = 1, column = 1) + + year.grid(row = 2, column = 1) + + year_field.grid(row = 3, column = 1) + + Show.grid(row = 4, column = 1) + + Exit.grid(row = 6, column = 1) + + # start the GUI + root.mainloop() + + diff --git a/Projects/Calendar_Generator_YearWise/README.md b/Projects/Calendar_Generator_YearWise/README.md new file mode 100644 index 0000000..3397ac7 --- /dev/null +++ b/Projects/Calendar_Generator_YearWise/README.md @@ -0,0 +1,52 @@ +# Calendar Application + +A simple GUI calendar application built with Python and Tkinter that displays the calendar for any given year. +--- +## Features +- User-friendly interface +- Displays full year calendar in a clean format +- Responsive design +- Easy year input +--- +## Requirements +``` +Python 3.12.6 +Tkinter (usually comes with Python installation) +``` +## How to Use +- Run the application +- Enter a year in the input field +- Click "Show Calendar" button +-A new window will open displaying the calendar for the entered year +-Use the "Exit" button to close the application +--- + +## Code Structure +The application consists of: + +- Main window with input field + +- Calendar display window that opens when showing a calendar + +- Simple error handling for year input +--- +## How to Run +``` +python calendar_app.py +``` +--- + +## Customization +You can easily customize: +- Colors by modifying the bg (background) parameters +- Fonts by changing the font parameters +- Window sizes by adjusting the geometry values +--- +## Future Improvements +- Add month-specific calendar views +- Implement date selection functionality +- Add event management features +- Improve UI with modern styling +--- +## License +This project is open source and available under the MIT License. \ No newline at end of file