استيراد القيم من نافذة إلى أخرى في واجهة المستخدم الرسومية ماتلاب

StackOverflow https://stackoverflow.com//questions/25017784

سؤال

لنفترض أن لدي زر في نافذة عندما أنقر عليه ستظهر نافذة جديدة.أدعو هذه النافذة (مع اسم My_New_Window) مع بناء الجملة هذا:

My_New_Window();

أريد إدراج بعض القيم في هذه النافذة الجديدة من النافذة الرئيسية.أعلم أنه يمكنني استخدام setappdata أو getappdata لهذا الغرض ولكن هل هناك طريقة أخرى لهذا?على سبيل المثال مثل بناء الجملة هذا:

My_New_Window(Values);

سؤال آخر.عندما نستخدم setappdata أو getappdata, حيث يخزن ماتلاب هذه البيانات?في ذاكرة الوصول العشوائي أو القرص الصلب?

هل كانت مفيدة؟

المحلول

  1. نعم ، يمكنك استخدام My_New_Window(Values); على سبيل المثال ، في الدليل ، مهما كانت المعلمات التي تمر إلى واجهة المستخدم الرسومية الخاصة بك ، يمكنك التعامل معها في OpeningFcn باستخدام لها varargin المدخلات.ببساطة تعيين varargin إلى الخاص بك handles هيكل واستخدام guidata(hObject, handles);

  2. فيما يتعلق setappdata - وفقا ل هذا الكتاب يتم تخزين البيانات داخل "كائن".نظرا لأن الكائنات موجودة في الذاكرة ، فمن الآمن افتراض أنها محفوظة بالفعل في ذاكرة الوصول العشوائي.

نصائح أخرى

يمكنك تخزين البيانات في خاصية بيانات المستخدم واجهة المستخدم الرسومية:

set(handletoFigure,'UserData',Values);

عند فتح واجهة المستخدم الرسومية الأخرى يمكنك استرداد المعلومات:

Values = get(handletoFigure,'UserData);

هل هناك سبب لماذا لا تريد استخدام سيتابداتا / جيتابداتا?

أما بالنسبة لسؤالك 2 أنا لا أعرف آسف.اعتقد انها ذاكرة الوصول العشوائي على الرغم من

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top