
البرمجة بلغة بايثون GUI
تعلم أدوات برمجة واجهة المستخدم باستخدام Python GUI
ماذا ستتعلم؟
- فهم مقدمة الواجهات الرسومية
- إنشاء الشاشة الرئيسية وتخصيصها
- تقسيم الشاشة باستخدام Frame
- استخدام Button وLabel وEntry
- استخدام Combo box وCheck button وRadio button
- التعامل مع Dropdown Menus وCanvas وTable
- التعامل مع الأحداث Events
- بناء برنامج الآلة الحاسبة
- بناء برنامج مدخل البيانات وبرنامج الطقس
عن الدورة
يشرح هذا الكورس برمجة واجهات المستخدم الرسومية Python GUI باستخدام بايثون وأداة Tkinter. تبدأ بمقدمة عن الواجهات، ثم إنشاء الشاشة الرئيسية وإظهار نص عليها وتخصيصها وتقسيمها بـ Frame. بعد ذلك تتعلم عناصر الواجهة الأساسية: Button وLabel وEntry وCombo box وCheck button وRadio button وDropdown Menus وCanvas وTable، والفرق بين Classic Widget وThemed Widget، والمتغيرات والأحداث Events. وتنتقل إلى تطبيقات عملية: الآلة الحاسبة، وتعداد الوقت، وبرنامج مدخل البيانات، وبرنامج الطقس على عدة أجزاء. وفي آخر الكورس أكواد جاهزة للتحميل. ينفع هذا الكورس من يعرف أساسيات بايثون ويريد صنع برامج بواجهات مرئية. ستحتاج إلى بعض الخبرة الأساسية في بايثون قبل البدء. كل درس يشرح عنصرا واحدا بمثال بسيط حتى تفهمه قبل الانتقال لما بعده. وفي النهاية ستكون قادرا على بناء برامج سطح مكتب بسيطة بأزرار وقوائم وجداول وتصميمها بنفسك.
نتائج متوقعة من الدورة
- إتقان إنشاء واجهات رسومية باستخدام بايثون.
- تصميم تطبيقات برمجية تفاعلية وسهلة الاستخدام.
- فهم أساسيات العناصر الرسومية مثل الأزرار والجداول والقوائم.
- إنشاء مشاريع عملية باستخدام Tkinter.
تقييمات المتدربين
محتوى الدورة
1البرمجة بلغة بايثون 2024 (واجهة المستخدم) Python GUI
22 درس
- مقدمة عن الواجهاتمقدمة عن بناء واجهات تطبيقات سطح المكتب بلغة Python باستخدام مكتبة Tkinter، مع عرض أمثلة مثل الآلة الحاسبة والمؤقت ونموذج إدخال بيانات يحفظ فى ملف.7:24
- إنشاء الشاشة الرئيسيةيشرح إنشاء النافذة الرئيسية فى Tkinter باستخدام الكلاس Tk وتسمية الكائن root، ولماذا تختفى النافذة فورا ولا تبقى مفتوحة إلا باستدعاء الدالة mainloop.10:53
- إظهار نص على الشاشةيشرح عرض نص على الشاشة فى Tkinter باستخدام عنصر Label، وإنشاء كائن منه وربطه بالنافذة الرئيسية root وتحديد النص ثم وضعه بطريقة pack.10:13
- تخصيص الشاشة الرئيسية - الجزء الأوليشرح تخصيص النافذة الرئيسية فى Tkinter بتحديد العرض والارتفاع بالدالة geometry، وقراءة أبعاد الشاشة لوضع النافذة فى المنتصف، وضبط عنوان النافذة.26:59
- تخصيص الشاشة الرئيسية - الجزء الثانييشرح خصائص إضافية للنافذة فى Tkinter، مثل السماح بتغيير الحجم أو منعه بالدالة resizable، وتعيين أيقونة للنافذة، وتحديد الحد الأدنى والأقصى للحجم.10:12
- تقسيم الشاشة من خلال Frameيشرح تقسيم النافذة فى Tkinter بعناصر Frame، وتحديد عرضها وارتفاعها ولون الخلفية، ومقارنة طريقتى place وpack، مع تمرين على رسم علم مصر بثلاثة إطارات ملونة.12:38
- أساسيات الـ Buttonيشرح أساسيات عنصر Button فى Tkinter، وإنشاءه داخل إطار Frame معين بدل النافذة الرئيسية، وتحديد موضعه بـ place، وتغيير شكل مؤشر الماوس فوقه.13:21
- أساسيات الـ Labelيشرح أساسيات عنصر Label فى Tkinter لعرض نصوص تحت الأزرار، وضبط لون النص والخلفية، وتحديد المسافات بالـ padding، وترتيب العناصر داخل الإطارات.10:58
- أساسيات الـ Entryيشرح عنصر Entry فى Tkinter لإدخال المستخدم للبيانات، وإنشاءه وربطه بالنافذة أو الإطار وترتيبه مع Label، وضبط محاذاة النص واللون والخلفية.6:49
- الفرق بين الـ Classic Widget و Themed Widgetيشرح الفرق بين العناصر الكلاسيكية Classic Widget والعناصر ذات النمط Themed Widget فى Tkinter، من حيث الخصائص المتاحة، وأن الثانية تتبع شكل النظام الذى يعمل عليه البرنامج.10:44
- تعيين خصائص للـ Themed Widgetيشرح ثلاث طرق لضبط خصائص العناصر ذات النمط Themed Widget فى Tkinter، وهى وسائط الـ constructor، وفهرس القاموس dictionary، ودالة config.9:38
- أساسيات الـ Combo boxيشرح عنصر Combobox فى Tkinter لاختيار قيمة من قائمة منسدلة، وضبط خاصية values بقائمة أو tuple، وجعله للقراءة فقط بالخاصية state.7:40
- الحصول على البيانات وتغيير بعض الخصائصيشرح كيفية الحصول على البيانات التى يدخلها المستخدم من عنصر Entry بدالة get عند الضغط على زر، وتحديث عنصر Label بها باستخدام config أو configure.21:16
- المتغيرات في الـ Tkinterيشرح متغيرات Tkinter مثل StringVar لربط عنصرى Entry وLabel معا، فيظهر ما يكتب فورا، واستخدام دالتى get وset لقراءة القيمة وتعديلها.14:15
- أساسيات الـ Check buttonيشرح عنصر Check Button فى Tkinter الذى يتيح اختيار أكثر من قيمة، وربطه بمتغير مثل IntVar أو StringVar لقراءة حالته المحددة وغير المحددة بدالتى get وset.20:12
- أساسيات الـ Radio buttonيشرح عنصر Radio Button فى Tkinter وفرقه عن Check Button، إذ يسمح باختيار واحد فقط، ويربط الأزرار بمتغير واحد وقيم مختلفة لكل زر لقراءة الاختيار.12:45
- التمرين الأولتمرين عملى يستخدم Radio Button لسؤال له إجابة صحيحة واحدة، ويربط الأزرار بمتغير StringVar ويعرض للمستخدم عند الضغط على زر إن كانت إجابته صحيحة أم خاطئة.13:21
- الأحداث Eventsيشرح الأحداث Events فى Tkinter مثل حركة الماوس والضغط ودخول المؤشر إلى عنصر، وربطها بدالة تستقبل معلومات الحدث، والفرق بين حدث الدخول وحدث تحريك الماوس.21:38
- أساسيات الـ Dropdown Menusيشرح القوائم المنسدلة فى Tkinter، بتخزين اختيار Combobox فى متغير والتعامل مع حدث تغيير الاختيار، ثم عنصر Spinbox لاختيار قيمة بالزيادة والنقصان من قائمة، والفرق بينهما.20:15
- أساسيات الـ Canvasيشرح عنصر Canvas فى Tkinter للرسم، فيرسم مستطيلا بإحداثيات البداية والنهاية، وشكلا بيضاويا أو دائرة بلون معين، ويضيف نصا وزرا داخل اللوحة.21:31
- أساسيات الـ Tableيشرح عرض البيانات فى جدول بعنصر Treeview من ttk، بتحديد الأعمدة وعناوينها بدالة heading، وإضافة الصفوف بدالة insert، وجعل الجدول يملأ النافذة بـ fill وexpand.20:20
- التعامل مع الأحداث في الـ Tableيشرح التعامل مع أحداث الجدول Treeview، مثل ربط حدث اختيار صف بدالة، وقراءة بيانات الصف المحدد بالدالة selection وitem، والتعامل مع تحديد أكثر من صف بحلقة for.17:20
2تطبيقات عملية
13 درس
- الآلة الحاسبةيبنى تطبيق آلة حاسبة بسيطة باستخدام Tkinter، ويركز على ترتيب الأزرار فى الشاشة بطريقة grid وتحديد الصف والعمود وامتداد العنصر، ثم قراءة المدخلات وعرض النتيجة.34:14
- تعداد الوقتيبنى تطبيق مؤقت للعد التنازلى بـ Tkinter، يدخل فيه المستخدم الساعات والدقائق والثوانى، وتحول إلى ثوان ثم تعرض بالتناقص داخل حلقة تكرار.27:36
- برنامج مدخل البيانات - الجزء الأوليبدأ تطبيق إدخال بيانات بـ Tkinter لحفظ الاسم والعمر والاتصال والوظيفة فى ملف csv، ويصمم الواجهة بإطار Frame وعناصر Label وEntry ويضبط أماكنها.46:27
- برنامج مدخل البيانات - الجزء الثانييكمل تطبيق إدخال البيانات بوظيفتى Save وClear، فيتحقق أولا من صحة المدخلات ويعرض رسائل عند ترك حقل فارغا، ثم يحفظ البيانات فى ملف csv باستخدام DictWriter.41:47
- برنامج مدخل البيانات - الجزء الثالثيكمل تطبيق إدخال البيانات بزر Open يفتح نافذة ثانية فوق الأولى، ويقرأ ملف csv إلى قائمة list ثم يعرض البيانات فى جدول.15:29
- برنامج الطقس - الجزء الأوليبدأ تطبيق الطقس الذى يعتمد على API، ويبنى النافذة بأسلوب البرمجة الكائنية بكلاس App يرث من Tk، ثم يضيف إليه Label ويربطه بالنافذة.10:24
- برنامج الطقس - الجزء الثانييشرح الاتصال بخدمة OpenWeatherMap لجلب بيانات الطقس، وإنشاء حساب والحصول على مفتاح API، وبناء رابط الطلب بخط العرض والطول واسم المدينة، وقراءة الرد بصيغة JSON.12:27
- برنامج الطقس - الجزء الثالثيجهز تطبيق الطقس عمليا بتثبيت مكتبات خارجية للطلبات والصور والمنطقة الزمنية، وتخزين مفتاح API فى متغير، وتنظيم مجلد المشروع بالصور والأيقونات.6:52
- برنامج الطقس - الجزء الرابعيكمل تطبيق الطقس بتنظيم ملفاته، وإعداد أيقونة النافذة ومنع تغيير حجمها، وعرض الصور بمكتبة PIL مع تغيير مقاسها داخل التطبيق.19:32
- برنامج الطقس - الجزء الخامسيبنى فى تطبيق الطقس واجهة البحث عن المدينة، بعرض صورة زر البحث بمكتبة PIL، وصندوق نص لاسم المدينة بـ StringVar، وعناصر Label لعرض درجة الحرارة والصور.19:56
- برنامج الطقس - الجزء السادسيكمل تصميم واجهة تطبيق الطقس بإضافة عناصر Label تعرض الرطوبة والضغط والرؤية وشروق الشمس وغروبها، مع ضبط الخط والألوان والمواضع، وزرى Reset وExit.17:57
- برنامج الطقس - الجزء السابعيبنى منطق تطبيق الطقس، بدالة Clear ودالة Exit برسالة تأكيد، وتشغيل جلب البيانات فى thread منفصل، وقراءة JSON الراجع من الخدمة وعرض الطقس والصورة حسب المدينة.44:00
- برنامج الطقس - الجزء الأخيريكمل تطبيق الطقس باستخراج البيانات من JSON وعرضها، مثل درجة الحرارة مع ضبط موضعها حسب عدد الخانات، والرطوبة والضغط والرؤية، وتحويل وقت الشروق والغروب إلى تاريخ مقروء.13:27
3المحلقات
2 ملحقات
- تحميل أكواد القسم الأساسى
- تحميل أكواد التطبيقات العملية
المحاضر

م/عمرو عبد الفتاح
هذه الدورة ضمن دبلومة




