180 likes | 328 Views
Kreiranje grafičkog sučelja. Ljiljana Bodrožić. Uvod. Zašto grafičko sučelje? Intuitivnost Interaktivnost Estetika Osnovna funkcija korisničkog sučelja (engl. user interface) jest olakšavanje komunikacije čovjeka i računala. Naredbe input i disp.
E N D
Kreiranje grafičkog sučelja Ljiljana Bodrožić
Uvod • Zašto grafičko sučelje? • Intuitivnost • Interaktivnost • Estetika • Osnovna funkcija korisničkog sučelja (engl. user interface) jest olakšavanje komunikacije čovjeka i računala.
Naredbe input i disp % m- file odabir.mr=input('odaberite \n a \n b ili \n c \n');if r=='a'disp('odabrali ste a');elseif r=='b'disp('odabrali ste b');elseif r=='c'disp('odabrali ste c');else disp('krivi odabir');end
Grafičko sučelje • Kreiranje grafičkog sučelja u Matlabu odvija se u tri koraka: 1. dizajniranje grafičkog sučlja dodavanjem i razmještanjem kontrola 2. programiranje kontrola “da rade nešto”3. pokretanje grafičkog sučelja
Dizajniranje • File -> "Show GUI Layout Tool" • ili • >>guide
Dizajniranje • Koristeći paletu za odabir kontrola dodajemo kontrole na sliku koja predstavlja grafičko sučelje.
Elementi grafičkog sučelja • Kontrole za ulaz/izlaz • Push Buttons • Check Boxes • Radio Buttons • Edit Text • Static Text • Sliders • Frames • Popup Menus • Axis • Svaka kontrola ima svoju grupu svojstava koja se postavljaju u prozoru Property Editor
Edit Text • Koriste se kada želimo dopustiti korisniku da upisuje ili mijenja tekst. • Prilikom kreiranja postavljamo svojstvo 'Tag' putem kojeg mu pristupamo. • Svojstvo 'String' sadrži tekst koji je upisan.
Static Text • Ispisuje linije teksta. • Obično se koristi za označavaje drugih kontrola. • Korisnik ga ne može mijenjati. • Nema Callback rutinu povezanu.
Check Boxes • Mjenjaju stanje kada se kliknu. • Kada su označeni vrijednost 'Value' svojstva je 1, odnosno 0 ako nisu označeni • Radio Buttons • Slični su kao check boxes, ali zamišljeni su da se koriste u povezanim grupama na način da se može odabrati samo jedna od ponuđenih opcija.
Frames • Okviri koje zatvaraju regije prozora. • Koriste se za vizualno grupiranje kontrola. • List Boxes • Prikazuju liste stavki definirane u 'String' svojstvu i omogučavaju korisniku da odabere jednu ili više. • Svojstva min i max definiraju koliko stavki se može odabrati. • Popup Menus • Otvaraju listu izbora. • Kada se klikne na strelicu otvaraju listu izbora i omoguæavaju korisniku da odabere jedan. • Kada nije otvoren prikazuje trenutno odabranu stavku. Stavke imaju indekse, prva stavka ima indeks 1. • Mogu imati definiranu Callback proceduru. Može se koristiti umjesto radio buttons- a
Push Buttons • Izvršavaju akciju definiranu u Callback svojstvu kada se pritisnu • Callback je procedura (skripta) koja se poziva kada se aktivira objekt kontrole. • Svaka kontrola ima callback svojstvo koje postavimo na ime procedure ili m-filea. • Callback procedura se izvršava se u radnom prostoru matlaba.
Preporuke • Kreirati izgled grafičkog sučelja • Postaviti Tag svojstvo svim kontrolama u Property editor prozoru • Postaviti String svojstva svim kontrolama koje imaju natpis
Programiranje kontrola • Callback proceduru možemo postaviti na dva načina: • umošenjem imena datoteke za callback svojstvo kontrole upisivanjem koda procedure u prozor callback editora
Handle • Handle je identifikacijski broj kontrole handle=findobj(gcf,'Tag','Edit1') • Varijabla handle postavlja se na identifikacijsku broj elementa trenutne slike koji ima Tag svojstvo Edit1 x=get(handle,'String') • U varijablu x pohranjuje se vrijednost String svojstva objekta čiji je identifikator varijabla handle
Čitanje i postavljanje sadržaja kontrola handle=findobj(gcf,'Tag','Edit1') x=get(handle,'String') handle2=findobj(gcf,'Tag','Edit2')set(handle2,'String',x)
Čitanje i postavljanje sadržaja kontrola • Bilo koji tekst kojeg korisnik upiše smatra se stringom (tekstualni podatak) • Funkcije str2num i num2str • str2num(’23’) • num2str(15) • x=str2num(get(handle,'String') )
Rad sa datumima • date – današnji datum • datenum – broj dana od 1.1.0 godine. • datenum(date) • datenum(2005,5,19) • informacija o godini: • d=datenum(date) • godina=floor(d/365.25) • Broj dana do rođendana=rođendan(iste godine) –današnji datum • Ako je <0 (tj. Rođendan je prošao) odabrati rođendan sljedeće godine