saad-almikhlafi
إطار واجهات Python مختصر، ببنية وأدوات واجهة من تنفيذ المشروع نفسه.
اسم التوزيعة saad-almikhlafi واسم الاستيراد saad_almikhlafi. هذا مشروع مستقل: نظام العناصر والتخطيط والأحداث والرسم مكتوب لهذا الإطار، ويستعمل Pygame فقط كطبقة منخفضة المستوى للنافذة والرسم والإدخال؛ لا يعتمد على إطار واجهات Python آخر.
الإصدار
0.1.0هو المرحلة الأولى ويظل محليًا حتى يكتمل المشروع وتتم مراجعة النشر.
التثبيت والتجربة
هذا الإصدار غير منشور بعد. من جذر مجلد المشروع، ثبّته للتجربة:
pip install -e ".[test]"
بعد اكتمال المشروع ونشره، سيكون أمر التثبيت:
pip install saad-almikhlafi
يتطلب Python 3.10+ وPygame 2.1.3+.
لتشكيل النص العربي واتجاهه، ثبّت الإضافات الاختيارية من مجلد المشروع:
pip install -e ".[test,arabic]"
تستخدم عناصر النص الخط الافتراضي إن لم تحدد font_path. لعرض العربية على الجهاز، مرّر مسار ملف خط يدعم العربية، مثل text("مرحبًا", font_path="/مسار/الخط.ttf") أو app(root, font_path="/مسار/الخط.ttf").
مثال سريع
from saad_almikhlafi import app, btn, col, field, text
app(
col(
text("Welcome!", font=28),
field(hint="Your name"),
btn("Say hello", on=lambda widget: print("Hello!")),
spacing=12,
padding=20,
),
title="تطبيقي الأول",
)
يعمل المثال في بيئة سطح المكتب، وعلى Android داخل Pydroid 3 عند توافر Pygame 2 في البيئة. قبل التشغيل تحقق في Pydroid من import pygame; print(pygame.version.ver). يذكر وصف Pydroid 3 الرسمي دعم Pygame 2؛ تشغيله مباشرةً على الجهاز لم يُختبر بعد.
عناصر الواجهة
| الاستدعاء | الوظيفة |
|---|---|
col(...) / column(...) |
ترتيب العناصر رأسيًا |
row(...) |
ترتيب العناصر أفقيًا |
text("...") / label("...") |
نص مع حجم ولون ومحاذاة |
btn("...") / button("...") |
زر مع دالة on عند النقر |
field(...) / input(...) |
حقل إدخال نص أحادي السطر |
image(path) |
عرض ملف صورة محلي |
spacer() |
مساحة تتمدد داخل الصف أو العمود |
scroll(content) |
مساحة تمرير رأسية |
screen_manager({name: widget}) |
تبديل بين شاشات مسماة مع سجل رجوع |
app(root, ...) / run(root, ...) |
تشغيل نافذة التطبيق |
تقبل التخطيطات spacing, padding, background, width, height, align. وتقبل العناصر خصائصها الخاصة مثل font, color, hint, secure, on_change وon_submit. استخدم manager.show("settings") للتبديل وmanager.back() للعودة.
المرحلة الحالية
المراحل 1–3: نواة العناصر والتخطيطات والأحداث والرسم، تمرير رأسي، شاشات مسماة وسجل رجوع، مع معالجة عربية اختيارية وخطوط مخصصة. نجحت اختبارات الرسم واللمس الاصطناعي والعربية على Linux؛ لم يجر التشغيل على جهاز Android بعد.
المرحلة التالية: تشغيل examples/pydroid_smoke.py على Pydroid والتحقق على الجهاز من اللمس ولوحة المفاتيح والاتجاه؛ ثم تحسين السمات وإتاحة الوصول والتوافق قبل إصدار مستقر. لا يُنشر أي إصدار قبل اكتمال المراجعة وموافقة المستخدم.
English
saad-almikhlafi is a standalone Python UI toolkit with its own widget tree, layout, event handling, scrolling, screens, and drawing code. It uses Pygame as a low-level graphics/input backend. Optional Arabic shaping and custom fonts are available. Import it as saad_almikhlafi. Android/Pydroid execution still needs device testing; version 0.1.0 remains a local milestone.
Metadata
Release files for saad-almikhlafi 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| saad_almikhlafi-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / saad_almikhlafi-0.1.0-py3-none-any.whl
| Download URL | saad_almikhlafi-0.1.0-py3-none-any.whl |
|---|---|
| Size | 14.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d4dc480f8b34a7e6f751394d603a3bbe5f0a34d071bae43a6a4dee70b8c81155
|
|
BLAKE2b-256 checksum How to use checksums |
25b6f2d99e1dc97fc9ce17d17679c7e55080d3c31768bc0ce6b9a8639ef00099
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|