
ليس سراً أن نطاق
بيثون واسع للغاية: من التقنيات القائمة على الويب ، وصناعة الألعاب ، وينتهي بمشاريع
ناسا . تعمل Python في كل مكان تقريبًا: من أجهزة الكمبيوتر المحمولة والهواتف الذكية إلى خوادم الشبكة تقريبًا على جميع الأنظمة الأساسية المعروفة مثل
Windows و Linux / UNIX و macOS و Palm OS و Raspberry PI وما إلى ذلك. بفضل إطار عمل
Kivy ، أتقنت
Python في عام 2011
أيضًا منصات متحركة من حيث تطوير التطبيقات
لنظامي التشغيل iOS و
Android ، وفي عام 2015 ، باستخدام مكتبة
KivyMD ، تعلمت
Python استخدام
مادة التصميم .
مكتبة
KivyMD هي عبارة عن مجموعة من الأدوات المصغّرة في أسلوب
تصميم المواد ، لاستخدامها في إطار عمل
Kivy متعدد الأنظمة. في مقالتي السابقة
KivyMD - تستمر الحياة ، والتي تم إصدارها قبل عام ، لقد تحدثت بالفعل عن مفترق هذه المكتبة ، لكن في
المشكلات وفي البريد ، تلقيت في كثير من الأحيان إعلامات بأن الميزات المعلنة في مفترق الطرق غير متوفرة عند تثبيت
KivyMD من
PyPi . كان هذا بالفعل
صحيحًا ، لأن
PyPi احتوى على نسخة قديمة من المكتبة منذ أربع سنوات من مستودع
GitLab ، والذي لم يعد مدعومًا من قبل المؤلف ، ولأننا لم نرغب في استخدام اسم جديد لشوكة لدينا ، مثل KivyMD-fork ، وقم بتحميل الحزمة في
PyPi مع الاسم ، تقرر الكتابة إلى مؤلف كتاب
KivyMD Andrés Rodríguez (mixedCase_) واطلب منه إزالة حزمته. بعد بعض المفاوضات المطولة ، قدم لنا Andre دعوة
لحزمة Python ، شريطة أن يظل مؤلفًا مشاركًا للمكتبة. والآن ، يوجد مستودع المكتبة الرسمي
هنا ، وتتوفر آخر تحديثاتنا في
PyPi .
إذن ، ما هي التغييرات في المكتبة التي حدثت بعد عام؟ بفضل أولئك الأشخاص الذين يستخدمون
KivyMD في مشاريعهم ، فقد
تخلصنا من الكثير من الأخطاء. يوجد 81 سؤال مغلق في المستودع. هذا إذا كنت لا تأخذ بعين الاعتبار حقيقة أن حصة الأسد من القضايا قد تم حلها في دعم مستخدم
الدردشة عبر الإنترنت Discord . هناك أقسام اللغة الروسية واللغة الإنجليزية في ذلك. لا يتم تطبيق جميع مواصفات
تصميم المواد حاليًا ، لأن ما يقرب من شخصين يعملان في المكتبة في أوقات فراغهم. ما تم تنفيذه بالفعل وما الذي أرغب في تنفيذه يمكن عرضه
في هذه القائمة . إنه بعيد عن الاكتمال ، ولكن يمكنك تكميله ، لأن الوصول إلى التحرير متاح للجميع. وهنا بعض الحاجيات الجديدة:
تلميح الأدوات
تلميح تصميم الموادمثال رمزfrom kivy.lang import Builder from kivy.factory import Factory from kivymd.app import MDApp Builder.load_string(''' #:import random random #:import hex_colormap kivy.utils.hex_colormap #:import get_color_from_hex kivy.utils.get_color_from_hex #:import md_icons kivymd.icon_definitions.md_icons #:set ICONS list(md_icons.keys()) <IconButtonTooltips@MDIconButton+MDTooltip> <ExampleTooltips@BoxLayout> orientation: 'vertical' MDToolbar: title: "Example Tooltips" md_bg_color: get_color_from_hex(hex_colormap["crimson"]) elevation: 10 left_action_items: [['dots-vertical', lambda x: None]] tooltip_text: "MDToolbar" Screen: BoxLayout: size_hint: None, None size: self.minimum_size padding: "10dp" spacing: "10dp" pos_hint: {'center_x': .5, "center_y": .9} IconButtonTooltips: icon: random.choice(ICONS) tooltip_text: "MDIconButton" IconButtonTooltips: icon: random.choice(ICONS) tooltip_text: "MDIconButton" IconButtonTooltips: icon: random.choice(ICONS) tooltip_text: "MDIconButton" IconButtonTooltips: icon: random.choice(ICONS) tooltip_text: "MDIconButton" IconButtonTooltips: icon: random.choice(ICONS) tooltip_text: "MDIconButton" IconButtonTooltips: icon: random.choice(ICONS) tooltip_text: "MDIconButton" ''') class Test(MDApp): def build(self): return Factory.ExampleTooltips() Test().run()

* مثال لنظام التشغيل Mac OSشريط التطبيق أسفل
تصميم المواد أسفل شريط التطبيقعلى اليسار هو مثال على كيفية عمل
شريط التطبيق أسفل من التطبيق التجريبي
Flutter ، على اليمين هو عرض توضيحي
لمكتبة KivyMD أسفل التطبيق بار .
مثال رمز from kivy.factory import Factory from kivymd.app import MDApp from kivy.lang import Builder Builder.load_string( """ <BottomAppBar@Screen> BoxLayout: spacing: dp(10) orientation: 'vertical' MDToolbar: title: "Title" md_bg_color: app.theme_cls.primary_color left_action_items: [['menu', lambda x: x]] Widget: MDBottomAppBar MDToolbar: title: "Title" icon: "git" type: "bottom" left_action_items: [["menu", lambda x: x]] """ ) class BottomAppBarTest(MDApp): def build(self): return Factory.BottomAppBar() BottomAppBarTest().run()
Backdropr
المواد تصميم Backdroprعلى اليسار مثال على كيفية عمل
Backdropr من تطبيق العرض التوضيحي
Flutter ، على اليمين هو عرض توضيحي لـ
Backdropr من مكتبة
KivyMD .
أضفنا أيضًا قسم
الدراسات إلى المكتبة ، التي ستستضيف التطبيقات التجريبية مثل
Shrine و
Basil وغيرها. في الوقت الحالي ، يمكنك رؤية شكل تطبيق
Shrine :
وهنا نفس الشيء ، لكن من تطبيق
Flutter :
لذلك يبدو
KivyMD على أجهزة
Android . في بعض الأماكن ، بالطبع ، هناك مشاكل في الأداء ، ولكن هذا على الأرجح ،
Kivy نفسه. على سبيل المثال ، لا تزال هناك مشاكل في بدء تشغيل مكتبات "ثقيلة". في الفيديو التالي ، قدمت مثالًا يستخدم تطبيق
OpenCV كخلفية لكاميرا
Android :
في هذه الحالة بالذات ، لا يمكن القيام بأي شيء ، لأنه في البداية ، لا
يتم تحميل
OpenCV و
NumPy فقط ، ولكن تحدث أيضًا مكالمات أصلية من أجل توصيل كل هذا. ومع ذلك ، يبدأ تطبيق الهاتف المحمول المصمم بشكل جيد على
Kivy و
KivyMD بسرعة كبيرة. كل هذا ينطبق على منصات المحمول. لا توجد مثل هذه المشكلات على سطح المكتب ، ويبدو
KivyMD رائعًا ببساطة:
نظام التشغيل Mac OS:
نوافذ:
من حيث المبدأ ، لا يهم نظام التشغيل الذي سيعمل عليه كل هذا ، لأن
KivyMD ، مثل
Kivy ، تبدو هي نفسها في كل مكان. يجب أن تقرر بنفسك نوع التطبيق الذي سيحصل عليه تطبيقك وأعتقد أن هذا مجرد إضافة.
لدينا الكثير من الخطط ، ولكن ليس هناك عدد كاف من الأيدي. على سبيل المثال ، في حين لا يوجد وقت لتحسين إدارة الملفات لأنظمة سطح المكتب ، أود تقديم دعم لأدوات iOS وأكثر من ذلك بكثير ... ومع ذلك ، وعلى الرغم من جميع أوجه القصور ، يتزايد عدد التنزيلات والاهتمام بالمكتبة كل يوم:
انضم إلى المجتمع إذا كنت تحب بيثون بقدر ما نحبها!
قناة يوتيوبأخبار KivyMDالخلاف الدردشة