برنامج battery_time_remaining برنامج يعرض حالة بطارية الجهاز والوقت المتبقي لشحنها أو نفادها، مُصمم بواجهة رسمية وخاصية فيما يلي تفصيل ومكونات هذا البرنامج
1. الغرض الأساسي والتقنيات المستخدمة
psutil`: لقراءة بيانات البطارية من نظام التشغيل (نسبة الشحن، وهل الجهاز متصل بالكهرباء).
- الوظائف:
- عرض نسبة شحن البطارية الحالية عبر شريط تقدم (Gauge) ونصوص وضاحية.
- إظهار ما إذا كان الجهاز قيد الشحن أم يعمل على البطارية.
- حساب الوقت المتبقي حتى اكتمال الشحن $100%$ أو الوقت المتبقي لنفاد البطارية.
2. أهم ما يميز الالبرنامج (الذكاء البرمجي وسهولة الوصول)
- خوارزمية حساب وقت الشحن التنبؤية:
- نظام التشغيل غالباً لا يوفر “الوقت المتبقي للشحن الكامل” بشكل مباشر.
- لتعويض ذلك، يقوم التطبيق بتسجيل التغيرات الفعلية فقط في نسبة الشحن (
transitions) حساب المعدل الزمني للزيادة وتنظيف البيانات الاستثنائية وتنعيم المعدل (smoothing rate) للحصول على تقدير دقيق يتكيف مع سرعة الشاحن. - النصوص العادية المحدثة تلقائياً لا تقرأها البرامج المساعدة بسهولة بدون تركيز Focus.
- تم التغلب على ذلك عبر طريقتين:
- شريط الحالة (Status Bar): تحديثه تلقائياً مما يجبر قارئ الشاشة على النطق.
- زر واختصار F5: ينقل التركيز إلى حقل نصي مخصص ومخفي (`
|
| BatteryFrame | النافذة الرئيسية للتطبيق، تحتوي على عناصر الواجهة والخلفية الداكنة وتنسيق الخطوط.
|
| build_ui | بناء عناصر النافذة (شريط التقدم، النصوص، الأزرار، وحقل ).
|
| update_battery_info | القراءة التلقائية للبطارية عبر psutil وتحديث الواجهة والبيانات بناءً على الحالة.
| _estimate_time_to_full | الخوارزمية المسؤولة عن حساب الوقت المتبقي بناءً على قفزات الشحن المسجلة.
|
| نقل التركيز لحقل النص لضمان قراءة للوقت فور الضغط على F5 أو الزر.
|
| BatteryApp | تطبيق الأساسي وتكليف إظهار النافذة ودورة تشغيل البرامج (MainLoop).
والآن مع التحميل https://www.dropbox.com/scl/fi/a629bnn3dpfghpyufwmzz/battery_time_remaining.exe?rlkey=cgm716s78xqil7filt238vj90&dl=1
أضف تعليق