"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية مشاركة البيانات المتغيرة بين الصفحات المختلفة في تطبيق واجهة المستخدم الرسومية؟

كيفية مشاركة البيانات المتغيرة بين الصفحات المختلفة في تطبيق واجهة المستخدم الرسومية؟

تم النشر بتاريخ 2024-11-06
تصفح:505

How to Share Variable Data Between Different Pages in a GUI Application?

كيفية الحصول على بيانات متغيرة من فئة

في سياق برمجة واجهة المستخدم الرسومية، من الشائع أن يكون لديك صفحات متعددة داخل نافذة تطبيق واحدة. قد تحتوي كل صفحة على عناصر واجهة مستخدم مختلفة، مثل حقول الإدخال أو الأزرار أو التسميات. عند التفاعل مع هذه الأدوات، يقدم المستخدم مدخلات أو يقوم باختيارات يجب مشاركتها عبر صفحات مختلفة. وهذا يثير مسألة كيفية الوصول إلى البيانات المتغيرة من فئة إلى أخرى، خاصة عندما تمثل تلك الفئات صفحات مختلفة.

الاستفادة من وحدة التحكم الخاصة بك

يتضمن أحد الأساليب الفعالة الاستفادة من مفهوم فئة وحدة التحكم . في مقتطف الرمز الذي قدمته، لديك فئة MyApp تدير صفحات متعددة، مثل PageOne وPageTwo. عادةً ما تعمل وحدة التحكم كوسيط بين أجزاء مختلفة من التطبيق وتسهل الاتصال. إليك كيفية استخدام وحدة التحكم للحصول على بيانات متغيرة:

  1. أضف مرجعًا إلى وحدة التحكم في كل فئة صفحة:

    class PageOne(ttk.Frame):
        def __init__(self, parent, controller):
            self.controller = controller
  2. أنشئ طريقة في وحدة التحكم للحصول على مثيل صفحة حسب اسم فئتها:

    class MyApp(Tk):
        def get_page(self, classname):
            for page in self.frames.values():
                if str(page.__class__.__name__) == classname:
                    return page
  3. الوصول إلى الأعضاء العامين في الصفحة المستهدفة من صفحة أخرى:

    class PageTwo(ttk.Frame):
        def print_it(self):
            page_one = self.controller.get_page("PageOne")
            value = page_one.some_entry.get()
تخزين البيانات في وحدة التحكم

بدلاً من ذلك، يمكنك التفكير في تخزين البيانات المشتركة في وحدة التحكم نفسها، بدلاً من الصفحة الطبقات. يعمل هذا الأسلوب على فصل الصفحات عن بعضها البعض ويقلل الحاجة إلى الاقتران المحكم بينها. وإليك كيفية تنفيذ ذلك:

  1. إنشاء بنية بيانات في وحدة التحكم لتخزين جميع البيانات المشتركة:

    class MyApp(Tk):
        def __init__(self):
            self.app_data = {"name": StringVar(),
                             "address": StringVar()}
  2. قم بتعديل كل صفحة للإشارة إلى بنية بيانات وحدة التحكم عند إنشاء عناصر واجهة المستخدم:

    class PageOne(ttk.Frame):
        def __init__(self, parent, controller):
            self.controller = controller
            self.some_entry = ttk.Entry(self, textvariable=self.controller.app_data["name"])
  3. الوصول إلى البيانات المشتركة من وحدة التحكم بدلاً من فئات الصفحة :

    class PageTwo(ttk.Frame):
        def print_it(self):
            value = self.controller.app_data["address"].get()
من خلال تنفيذ أحد هذه الطرق، يمكنك مشاركة البيانات المتغيرة بشكل فعال بين فئات الصفحات المختلفة داخل تطبيق واجهة المستخدم الرسومية الخاص بك. يوفر النهج القائم على وحدة التحكم اقترانًا محكمًا ونقطة تحكم مركزية للاتصالات، بينما يعمل تخزين البيانات في وحدة التحكم على تعزيز الفصل والمرونة. يعتمد اختيار النهج على المتطلبات المحددة لتطبيقك ومستوى التفاعل ومشاركة البيانات المطلوبة بين الصفحات.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3