Skip to main content

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, تقویم شمسی, تقویم شمسی تکینتر


لینک‌ها

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shamsicalendar-0.1.1.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shamsicalendar-0.1.1-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

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

Hashes for shamsicalendar-0.1.1.tar.gz
Algorithm Hash digest
SHA256 6a0440479f696ce2298f68cfce1056cb9ec13383c7bf2367d52cc043a9361b04
MD5 f5f267e912c6a725e365b498e6031be3
BLAKE2b-256 250f73d9586f7da6e123cf2c20f791d88e5aabae54760e411701cc7bb507c4ad

See more details on using hashes here.

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

Hashes for shamsicalendar-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2955e16f6b9f0342c6e902385f8a73db4743486c93b7d489822a428c50bcf2ca
MD5 2d7a2e7c723e59a2caf5b04d56c3c790
BLAKE2b-256 7f0a146aed3cc76f028985e9dbc6b119bcc927bca8b05d835b4d3730546ec2ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page