آموزش متلب (MATLAB)
۵۴۳ آموزش
نمایش دسته بندی ها (۵۴۳ آموزش)

ساخت یک Graphical User Interface (به اختصار : GUI) ساده در متلب

یکی از قابلیت های نرم افزار متلب، ساخت پنجره هایی به شکل برنامه های کاربردی (applications) می باشد که به عنوان یک واسط کاربری گرافیکی (Graphical User Interface) به کار می روند. در این مبحث، با چگونگی ساخت یک Graphical User Interface ساده، آشنا می شویم.

در بالای پنجره نرم افزار متلب، یک گزینه وجود دارد که اگر موس خود را بر روی آن ببرید، عنوان GUIDE بر روی آن نمایش داده می شود :

ساخت یک Graphical User Interface (به اختصار : GUI) ساده در متلب

بر روی این گزینه کلیک می کنیم تا پنجره ای به شکل زیر نمایش داده شود :

ساخت یک Graphical User Interface (به اختصار : GUI) ساده در متلب

در این پنجره، گزینه Blank GUI را انتخاب کرده و سپس بر روی دکمه OK کلیک می کنیم. پنجره ای به شکل زیر نمایش داده می شود :

ساخت یک Graphical User Interface (به اختصار : GUI) ساده در متلب

در این پنجره، می توانیم GUI مورد نظرمان را طراحی کنیم. در سمت چپ این پنجره، عناصر گرافیکی مختلفی نمایش داده شده است که می توانیم آنها را با موس گرفته و به درون صفحه بکشیم (drag and drop). مثلا یکی از این عنصرها، عنصر Push Button می باشد که به عنوان دکمه عمل می کند :

ساخت یک Graphical User Interface (به اختصار : GUI) ساده در متلب

این عنصر را با موس، به درون صفحه می کشیم :

ساخت یک Graphical User Interface (به اختصار : GUI) ساده در متلب

در صورت تمایل، می توانیم بر روی عنصر کلیک کرده تا انتخاب شود و سپس با بردن موس بر روی کناره های آن و سپس کلیک کردن موس و کشیدن کناره ها، اندازه این عنصر را تغییر بدهیم :

ساخت یک Graphical User Interface (به اختصار : GUI) ساده در متلب

اکنون بر روی عنصر Push Button ای که ساخته ایم، با موس، دابل کلیک (دو بار کلیک) می کنیم تا پنجره مربوط به مشخصات آن نمایش داده شود :

ساخت یک Graphical User Interface (به اختصار : GUI) ساده در متلب

به عنوان مثال، من گزینه String را که برابر Push Button می باشد، به kelidestan.com تغییر می دهم. این گزینه، مربوط به متن نمایش داده شده بر روی دکمه می باشد :

ساخت یک Graphical User Interface (به اختصار : GUI) ساده در متلب

بنابراین نتیجه به صورت زیر می باشد :

ساخت یک Graphical User Interface (به اختصار : GUI) ساده در متلب

اکنون بر روی گزینه Save Figure کلیک می کنیم :

ساخت یک Graphical User Interface (به اختصار : GUI) ساده در متلب

سپس یک پنجره باز می شود که شما باید یک نام برای فایل مورد نظر انتخاب کنید و آن را در محلی دلخواه از کامپیوتر خود، ذخیره نمایید. دقت شود که شما فایلی با فرمت fig را ذخیره می کنید، اما نرم افزار متلب، یک m-file که حاوی کدهای لازم برای ساخت آن GUI است را هم با همان نام انتخاب شده توسط شما، می سازد و آن را به طور خودکار باز می کند و به شما نمایش می دهد (در واقع، GUI بر اساس دو فایل مختلف، یکی با فرمت fig و دیگری با فرمت m ، خواهد بود). مثلا برای موردی که ما ساختیم، کدهای زیر را در m-file قرار می دهد (من نام myCode.fig را برای ذخیره فایل انتخاب کردم، بنابراین متلب یک m-file با نام myCode.m می سازد که حاوی کدهای زیر است) :


function varargout = myCode(varargin)
% MYCODE MATLAB code for myCode.fig
%      MYCODE, by itself, creates a new MYCODE or raises the existing
%      singleton*.
%
%      H = MYCODE returns the handle to a new MYCODE or the handle to
%      the existing singleton*.
%
%      MYCODE('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in MYCODE.M with the given input arguments.
%
%      MYCODE('Property','Value',...) creates a new MYCODE or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before myCode_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to myCode_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help myCode

% Last Modified by GUIDE v2.5 31-Jul-2014 00:29:58

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @myCode_OpeningFcn, ...
                   'gui_OutputFcn',  @myCode_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before myCode is made visible.
function myCode_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to myCode (see VARARGIN)

% Choose default command line output for myCode
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes myCode wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = myCode_OutputFcn(hObject, eventdata, handles)
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

به خط زیر از کدها دقت کنید :


function pushbutton1_Callback(hObject, eventdata, handles)

این تابع، زمانی اجرا می شود که کاربر بر روی آن دکمه ای که ساخته ایم، کلیک کند. بنابراین کدهای مورد نظرمان برای عملکرد دکمه را باید در زیر این خط از کدها بنویسیم.

مثلا من این خط از کدها را به صورت زیر تغییر می دهم :


function pushbutton1_Callback(hObject, eventdata, handles)
disp('www.kelidestan.com')

همان طور که مشاهده می کنید، یک خط کد به آن اضافه کرده ام که تنها شامل دستور disp است که برای نمایش یک عبارت در خروجی نرم افزار متلب (پنجره command) به کار می رود. بنابراین وقتی کاربر بر روی دکمه اشاره می کند، باید عبارت www.kelidestan.com در خروجی متلب نمایش داده شود.

خوب اکنون برای اجرای این GUI ، کافی است که m-file ساخته شده برای آن را اجرا کنیم. برای این منظور، بر روی گزینه Run در بالای Editor ، کلیک می کنیم :

ساخت یک Graphical User Interface (به اختصار : GUI) ساده در متلب

بنابراین پنجره مربوط به GUI نمایش داده می شود :

ساخت یک Graphical User Interface (به اختصار : GUI) ساده در متلب

با کلیک بر روی دکمه، عبارت www.kelidestan.com در پنجره command نرم افزار متلب، نمایش داده می شود :

ساخت یک Graphical User Interface (به اختصار : GUI) ساده در متلب

دقت داشته باشید که GUI ای که ساختیم، بر اساس دو فایل myCode.fig و myCode.m می باشد و شما باید این دو فایل را همیشه در کنار هم داشته باشید تا بتوانید GUI را اجرا کنید.

نویسنده علیرضا گلمکانی
شماره کلید 2505
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 1 1 0
مریم یگانه
۱۴۰۱/۰۸/۲۶
۰۱:۵۱

خیلی خوب بود،ممنون از مطلب مفیدتون

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)