Skip to content

feat: Add Calendar_Generator_YearWise project (Issue No : #106) #109

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions Projects/Calendar_Generator_YearWise/Calendar.py
Original file line number Diff line number Diff line change
@@ -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())
Copy link
Preview

Copilot AI Jun 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Converting the input directly to int may crash on invalid input; consider adding a try/except block to handle non-integer values gracefully.

Copilot uses AI. Check for mistakes.


# 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()


52 changes: 52 additions & 0 deletions Projects/Calendar_Generator_YearWise/README.md
Original file line number Diff line number Diff line change
@@ -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
Copy link
Preview

Copilot AI Jun 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The README references 'calendar_app.py', but the actual script file is named 'Calendar.py'. Update the command to 'python Calendar.py' to match the file name.

Copilot uses AI. Check for mistakes.

```
---

## 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.