一個簡單的 matlab GUI 編程範例

主函數,負責界面的設置

clc
clear
close all

input = 0;
balance = 500;

hfig = figure('pos',[100,100,300,300]);

withdrawButton = uicontrol('parent',hfig,'string','withdraw','pos',[60,28,60,28]);
depositButton = uicontrol('parent',hfig,'string','deposit','pos',[180,28,60,28]);

inputBox = uicontrol('parent',hfig,'style','edit','string',num2str(input),'pos',[60,85,180,28],...
    'tag','inputbox');
balanceBox = uicontrol('parent',hfig,'style','edit','string',num2str(balance),'pos',[180,142,60,28],...
    'tag','balancebox');
textBox = uicontrol('parent',hfig,'style','text','string','balance','pos',[60,142,60,28]);

set(withdrawButton,'callback',@(o,e)withdraw_callback(o,e));
set(depositButton,'callback',@(o,e)deposit_callback(o,e));

回調函數1

function withdraw_callback(o,e)
    hfig = get(o,'parent');
    inputBox = findobj(hfig,'tag','inputbox');
    input = str2double(get(inputBox,'string'));
    balanceBox = findobj(hfig,'tag','balancebox');
    balance = str2double(get(balanceBox,'string'));
    balance = balance - input;
    set(balanceBox,'string',num2str(balance));
end

回調函數2

function deposit_callback(o,e)
    hfig = get(o,'Parent');
    inputBox = findobj(hfig,'Tag','inputbox');
    input = str2double(get(inputBox,'string'));
    balanceBox = findobj(hfig,'Tag','balancebox');
    balance = str2double(get(balanceBox,'string'));
    balance = balance + input;
    set(balanceBox,'string',num2str(balance));
end

 

編寫完成後的效果圖如下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章