Professional Documents
Culture Documents
Predavanje 08
Predavanje 08
SOFTVERSKIH PAKETA
(1) Uvod
(2) Programska izgradnja GUI-a
(3) GUIDE
2
Definicija GUI-a
3
Definicija GUI-a
4
O GUI-u
• GUI može:
prikazati podatke u tabelarnom obliku
iscrtavati
grupirati povezane komponente
5
Kako GUI radi?
7
Kratak pregled
(1) Uvod
(2) Programska izgradnja GUI-a
(3) GUIDE
8
Kreiranje GUI-a
10
Manualno kreiranje uicontrol
elemenata
• Da biste kreirali uicontrol element, koristite MATLAB
naredbu:
handle = uicontrol('Property1Name', Property1Value, ...
'Property2Name', Property2Value, ...
.
.
);
15
Primjer 1
16
Primjer 1
primjer1.m
f1 = figure('Tag','figure1','Position',[200 200 400 400]);
a = uicontrol('Style','pushbutton',...
'Units','normalized','Position',...
[.5 .5 .2 .1],'String','Klikni me');
s = 'set(a,''Position'',[.8*rand .9*rand .2 .1])';
eval(s)
set(a,'Callback',s)
17
Primjer 2
18
Primjer 2
popup
edit
axes
19
Primjer 2
primjer2.m
20
Primjer 2
crtaj.m
try
vektor=eval(get(unos,'String'));
catch
text(0.35,0.5,'Greska u unosu');
break
end
t_izbor=get(izbor,'Value');
switch t_izbor
case 1
cla;
case 2
bar(vektor);
case 3
barh(vektor);
case 4
pie(vektor);
case 5
pie3(vektor);
end
Primjer 3
22
kalkulatorgui.m
function kalkulatorgui
razmak_h = 0.04;
razmak_v = 0.057;
dugme_sirina = 0.2;
dugme_visina = 0.1;
oznake = ['0','.','=','+','1','2','3','-',...
'4','5','6','*','7','8','9','/',...
'(',')','d','c'];
figure('menubar','none','position',[300,300,200,200]);
t_pozicija_h = razmak_h;
t_pozicija_v = razmak_h;
for j = 1:5
t_pozicija_h = razmak_h;
for i = 1:4
g = uicontrol('Style','pushbutton','Units',...
'normalized','Position',...
[t_pozicija_h t_pozicija_v dugme_sirina dugme_visina]);
t_pozicija_h = t_pozicija_h+dugme_sirina+razmak_h;
set(g,'string',oznake((j-1)*4+i),'callback','racunaj');
end
t_pozicija_v=t_pozicija_v+dugme_visina+razmak_v;
end
uicontrol('Style','text','tag','rezultat',...
'units','normalized','position',...
[razmak_h t_pozicija_v 0.92 0.1],...
'BackgroundColor',[1 1 1],...
'HorizontalAlignment','right');
Primjer 3
racunaj.m
function racunaj
odabrano = get(gco,'string')
t_vrijednost = get(findobj('tag','rezultat'),'string')
switch odabrano
case 'd'
rezultat = t_vrijednost(1:end-1);
case 'c'
rezultat = [];
case '='
try
rezultat = eval(t_vrijednost);
catch
rezultat = 'E'
end
otherwise
rezultat = strcat(t_vrijednost,odabrano);
end
set(findobj('tag','rezultat'),'string',rezultat);
24
Primjer 4
25
Primjer 4
26
Primjer 4
meniji.m
function meniji(x,y,tip)
f1 = figure('menubar','none');
if tip == 1
meni1 = uicontextmenu;
linija = plot(x,y,'UIContextMenu', meni1,'Tag','linija');
else
meni1 = uimenu('Label','Vrsta linije');
linija = plot(x,y,'Tag','linija');
end
set(linija,'LineWidth',3);
cb1 = ['set(findobj(''Tag'',''linija''), ''LineStyle'', ''--'')'];
cb2 = ['set(findobj(''Tag'',''linija''), ''LineStyle'', '':'')'];
cb3 = ['set(findobj(''Tag'',''linija''), ''LineStyle'', ''-'')'];
(1) Uvod
(2) Programska izgradnja GUI-a
(3) GUIDE
28
Kreiranje GUI-a
29
Crtanje GUI-a
30
Izmjena postavki objekata
33
Pokretanje GUI-a
34
Kratak pregled
(1) Uvod
(2) Programska izgradnja GUI-a
(3) GUIDE
35