ماتلاب دليل واجهة المستخدم الرسومية لزر جوجل / زر؟

2

لقد كنت أعمل على واجهة مستخدم رسومية matlab لفترة من الوقت الآن وأخيرًا حصلت على ما أريد الآن أنا أعمل فقط على جعل بعض الأنظف وسهل الاستخدام. لدي 5 لوحات وقمت بتجميعها فوق بعضها البعض وأضفت 5 أزرار ضغط فوق اللوحة. هل هناك طريقة لتكون قادرة على جلب لوحة إلى الأمام عن طريق الضغط على زر الضغط؟

function togglebutton2_Callback(hObject, eventdata, handles)

هذه هي دعوتي مرة أخرى لزر الضغط. هل هناك أي شيء يمكنني إضافته لجعل اللوحة تظهر في المقدمة من خلال النقر عليها؟ شكر

1 إجابة

0

هناك عدد من الأدوات / الأمثلة لإنشاء لوحات مبوبة تم إرسالها إلى MathWorks File Exchange . من المحتمل أن يفعل أي منهم ما تريد. ومع ذلك ، يمكنك أيضًا القيام بذلك بنفسك بسهولة uibuttongroup . إليك مثال بسيط لتصميم لوحة مبوبة:

function tab_panel

  hFigure = figure('Units', 'pixels', 'Position', [200 200 320 320]);

  hPanel1 = uipanel(hFigure, 'Units', 'pixels', 'Position', [10 10 300 270], ...
                    'BackgroundColor', 'r');
  hPanel2 = uipanel(hFigure, 'Units', 'pixels', 'Position', [10 10 300 270], ...
                    'BackgroundColor', 'g', 'Visible', 'off');
  hPanel3 = uipanel(hFigure, 'Units', 'pixels', 'Position', [10 10 300 270], ...
                    'BackgroundColor', 'b', 'Visible', 'off');

  hGroup = uibuttongroup(hFigure, 'Units', 'pixels', 'Position', [10 280 300 30], ...
                         'BorderType', 'none', 'SelectionChangedFcn', @switch_panel);
  hButton1 = uicontrol(hGroup, 'Style', 'toggle', 'Position', [0 0 40 30], ...
                       'String', 'Red');
  hButton2 = uicontrol(hGroup, 'Style', 'toggle', 'Position', [40 0 40 30], ...
                       'String', 'Green');
  hButton3 = uicontrol(hGroup, 'Style', 'toggle', 'Position', [80 0 40 30], ...
                       'String', 'Blue');

  function switch_panel(~, eventData)  % Nested callback function
    switch eventData.NewValue
      case hButton1
        set(hPanel1, 'Visible', 'on');
        set([hPanel2 hPanel3], 'Visible', 'off');
      case hButton2
        set(hPanel2, 'Visible', 'on');
        set([hPanel1 hPanel3], 'Visible', 'off');
      case hButton3
        set(hPanel3, 'Visible', 'on');
        set([hPanel1 hPanel2], 'Visible', 'off');
    end
  end

end

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

Imagen 689461

على الرغم من أن هذا مثال برمجي ، يجب أن يكون من السهل تكييفه مع واجهة المستخدم الرسومية المصممة GUIDE.

:مؤلف
فوق
قائمة طعام