Persian (Shamsi) Calendar and Date Entry for Python Tkinter
Project description
ShamsiCalendar: Persian Calendar & Date Entry for Tkinter
ShamsiCalendar یک پکیج پایتون برای نمایش و انتخاب تاریخ شمسی (Persian / Jalali) در رابط کاربری Tkinter است. این پکیج شامل یک تقویم شمسی و یک ویجت ورودی تاریخ است که استفاده از آن برای برنامههای GUI ساده و سریع است.
ویژگیهای اصلی
-
تقویم شمسی (ShamsiCalendar)
- انتخاب روز با کلیک روی تقویم
- تغییر ماه و سال به راحتی
- دکمه "امروز" برای انتخاب سریع تاریخ فعلی
- رنگبندی مخصوص روز جاری و جمعهها
-
ورودی تاریخ شمسی (ShamsiDateEntry)
- نمایش تقویم به صورت Popup با کلیک روی ورودی
- وارد کردن تاریخ شمسی به راحتی
- سازگار با Tkinter و CustomTkinter
-
فارسیسازی کامل: نام ماهها و روزهای هفته به فارسی نمایش داده میشوند.
نصب
pip install tk customtkinter jdatetime
استفاده از ShamsiCalendar
import tkinter as tk
from your_package import ShamsiCalendar
import jdatetime
def on_date_selected(date):
print("Selected date:", date)
root = tk.Tk()
root.title("Persian Shamsi Calendar")
cal = ShamsiCalendar(root, year=1404, month=6, select_callback=on_date_selected)
cal.pack(padx=10, pady=10)
root.mainloop()
استفاده از ShamsiDateEntry
import tkinter as tk
from shamsicalendar import shamsi_calendar
WIDTH, HEIGHT = 500, 500
def show_value():
lbl_show_date.configure(text=f'Date: {date_entry.get()}')
app = tk.Tk()
x = ((app.winfo_screenwidth() // 2) - (WIDTH//2))
y = ((app.winfo_screenheight() // 2) - (HEIGHT//2))
app.geometry(f'{WIDTH}x{HEIGHT}+{x}+{y}')
app.resizable(False, False)
app.title('Shamsi Calander App')
tk.Label(text='Hello Welcome', font=('Arial', 25, 'bold')).pack(pady=20)
tk.Label(text='Select Date', font=('Arial', 15, 'bold')).pack()
date_entry = shamsi_calendar.ShamsiDateEntry(app)
date_entry.pack(pady=5)
lbl_show_date = tk.Label(text='Date: ', font=('Arial', 30, 'bold'), foreground='red')
lbl_show_date.pack(pady=20)
btn_show = tk.Button(app, text="show Date", command=show_value)
btn_show.pack(pady=10)
app.mainloop()
نکات مهم برای کاربران
- روز جاری با رنگ سبز روشن مشخص شده است.
- روز انتخابشده با رنگ زرد نمایش داده میشود.
- جمعهها به رنگ قرمز هستند.
- قابلیت callback برای دریافت تاریخ انتخاب شده وجود دارد.
Keywords for Search Engines
Persian calendar, Shamsi calendar, Jalali date, Tkinter date picker, Python GUI, Persian date entry, Python ShamsiCalendar, تقویم شمسی, تقویم شمسی تکینتر
لینکها
- Telegram: @p7deli
- Github: https://github.com/p7deli
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file shamsicalendar-0.1.1.tar.gz.
File metadata
- Download URL: shamsicalendar-0.1.1.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a0440479f696ce2298f68cfce1056cb9ec13383c7bf2367d52cc043a9361b04
|
|
| MD5 |
f5f267e912c6a725e365b498e6031be3
|
|
| BLAKE2b-256 |
250f73d9586f7da6e123cf2c20f791d88e5aabae54760e411701cc7bb507c4ad
|
File details
Details for the file shamsicalendar-0.1.1-py3-none-any.whl.
File metadata
- Download URL: shamsicalendar-0.1.1-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2955e16f6b9f0342c6e902385f8a73db4743486c93b7d489822a428c50bcf2ca
|
|
| MD5 |
2d7a2e7c723e59a2caf5b04d56c3c790
|
|
| BLAKE2b-256 |
7f0a146aed3cc76f028985e9dbc6b119bcc927bca8b05d835b4d3730546ec2ba
|