7. Előadás Grafikus felhasználói felületek.



Hasonló dokumentumok
Baran Ágnes. Gyakorlat Függvények, Matlab alapok

Rajz 01 gyakorló feladat

Grafikus felhasználói felület (GUI) létrehozása A GUI jelentése Egy egyszerű GUI mintaalkalmazás létrehozása

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Grafikus felhasználói felületek. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr.

Lakóház tervezés ADT 3.3-al. Segédlet

Akciók, diavetítés. 1. ábra Akciógombok. A lap két regiszterfülből áll, ezek a Kattintásra és az Áthaladáskor. Nézzük meg először az elsőt!

Programozási technológia

RAJZ1. vezetett gyakorlat

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

Programozási technológia

Swing GUI készítése NetBeans IDE segítségével

VISUAL BASIC ALAPISMERETEK

RAJZ2. vezetett gyakorlat

Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később).

Animációk, effektusok

Választó lekérdezés létrehozása

Felhasználói Kézikönyv

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Fürdőszoba tutorial 01

Az importálás folyamata Felhasználói dokumentáció verzió 2.1.

Baran Ágnes. Gyakorlat Halmazok, függvények, Matlab alapok. Baran Ágnes Matematika Mérnököknek Gyakorlat 1 / 34

Új prezentáció létrehozása az alapértelmezés szerinti sablon alapján.

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

LEADER. Helyi Fejlesztési Stratégiák. tervezését támogató alkalmazás

Függvények ábrázolása

Grafikus felhasználói felületek, eseménykezelés

ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés. Készítette: Gregorics Tibor

Óranyilvántartás (NEPTUN)

Szöveges műveletek. Mielőtt nekikezdenénk első szövegünk bevitelének, tanuljunk meg néhány alapvető műveletet a 2003-as verzió segítségével:

Táblázatok. Táblázatok beszúrása. Cellák kijelölése

Prezentáció, Diagramok, rajzolt objektumok. Szervezeti diagram

QGIS tanfolyam (ver.2.0)

7. Előadás. Makrók alkalmazása. Salamon Júlia. Előadás I. éves mérnök hallgatók számára

HVK Adminisztrátori használati útmutató

1. Alapok. #!/bin/bash

Rajz 06 gyakorló feladat

Mesh generálás. IványiPéter

TÖRZSKEZELÉS e-tabak 01 00

POSZEIDON dokumentáció (1.2)

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán

Változtatások végrehajtása a kijelző beállításaival

Kézikönyv. Szelekciós jegyzék létrehozása

Operációs rendszerek. Tanmenet

Minőségellenőrzési kérdőív kitöltő program Felhasználói kézikönyv

Windows 7. Szolgáltatás aktiválása

Nemzeti LEADER Kézikönyv LEADER HELYI FEJLESZTÉSI STRATÉGIA FELHASZNÁLÓI KÉZIKÖNYV szeptember

Geometria megadása DXF fájl importálásából

Java-s Nyomtatványkitöltő Program Súgó

EDInet Connector telepítési segédlet

ClicXoft programtálca Leírás

A Vonallánc készlet parancsai lehetővé teszik vonalláncok és sokszögek rajzolását.

Országos Területrendezési Terv térképi mellékleteinek WMS szolgáltatással történő elérése, MapInfo program alkalmazásával

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Diagram készítése. Diagramok formázása

Egyszerűbb a Google keresőbe beírni a Sharepoint Designer 2007 letöltés kulcsszavakat és az első találat erre a címre mutat.

A LOGO MOTION TANÍTÁSA

HASZNÁLATI ÚTMUTATÓ DOLGOZÓK IMPORTÁLÁSA KULCS BÉR PROGRAMBA AZ ONLINE MUNKAIDŐ NYILVÁNTARTÓ RENDSZERBŐL. Budapest, november 08.

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, MapInfo program alkalmazásával Útmutató 2010.

Matlab alapok. Baran Ágnes. Grafika. Baran Ágnes Matlab alapok Grafika 1 / 21

CAD-ART Kft Budapest, Fehérvári út 35.

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

VII. Appletek, grafika

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR

Vihar 2.0 rendszer Felhasználói kézikönyv

Duál Reklám weboldal Adminisztrátor kézikönyv

Újdonságok az ArchiTECH.PC V es verziójában

Word V. tabulátortípus meg nem jelenik: Tabulátor - balra, Tabulátor - jobbra,

Készítette:

VARIO Face 2.0 Felhasználói kézikönyv

TERKA Törvényességi Ellenőrzési Rendszer Kiegészítő Alkalmazás

Java Programozás 5. Gy: Java alapok. Adatkezelő 1.rész

A Java nyelv. Dialógus ablakok. Elek Tibor

Chat felhasználói segédlet

Operációs rendszerek Windows Xp

ContractTray program Leírás

Multimédia 2017/2018 II.

9. óra operációs rendszerek. Grafikus operációs rendszer

Makrók használata az Excelben - Makróhibák kezelése, biztonságos jelszavak generálása

Informatika 1. Informatika el adás. Kovács Kristóf, Pálovics Róbert. Budapesti M szaki Egyetem november 13.

Tortoise SVN használata. Képes útmutató

Gyorsított jegybeírás. Felhasználói dokumentáció verzió 2.0.

3. modul - Szövegszerkesztés

Új Nemzedék Központ. EFOP pályázatok online beszámoló felülete. Felhasználói útmutató

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

11.5. Ellipszis és ellipszisív


Rajz 02 gyakorló feladat

Táblázatok kezelése. 1. ábra Táblázat kezelése menüből

Hiba bejelentés azonnal a helyszínről elvégezhető. Egységes bejelentési forma jön létre Követhető, dokumentált folyamat. Regisztráció.

Weblap készítése. Fapados módszer

1. Regisztráció. Kedves Jelentkező!

ServiceTray program Leírás

Megyei tervezést támogató alkalmazás

ArcGIS 8.3 segédlet 5. Dr. Iványi Péter

1. feladat. Szabóné Nacsa Rozália

DebitTray program Leírás

Tamás Ferenc: CSS táblázatok 2.

A webáruház kezdőlapján háromféle diavetítés beállítására van lehetőség:

Átírás:

7. Előadás Grafikus felhasználói felületek. Salamon Júlia Előadás I. éves mérnök hallgatók számára

Felhasználói felületek készítése Parancs ablakból >>f=figure; >>set(f, Name, Ez a minta ablak ); >>set(f, Position,[0 0 600 400]); >>h=uicontrol(f, Style, pushbutton, Position,[10 10 100 300],, Nyomj meg!, Callback, disp( Hello! ) ); Guide parancs segítségével 2007.12.14. VII. eloadas 2

GUI Layout Editor - segítségével létrehozhatunk egy grafikus ablakot - elsősorban az objektumok elhelyezésére szolgál - a felhasználói felület bármikor futtatható a Run gomb lenyomásával 2007.12.14. VII. eloadas 3

Matlab grafikus objektumai Push Button Slider Radio Button Check Box Edit Text Static Text Popup menu Listbox Toggle Button Axis Panel/Frame Button Group gomb gördülő sáv rádió gomb kijelölő doboz szöveg mező címke legördülő menü lista gomb (ki be lehet kapcsolni) ábra panel panel gomboknak (rádió gomb) 2007.12.14. VII. eloadas 4

Alignment Tool Objektumok vagy objektum csoportok egymáshoz való igazítására használjuk 2007.12.14. VII. eloadas 5

Property Inspector Segítséget nyújt az objektumok tulajdonságainak interaktív beállítására 2007.12.14. VII. eloadas 6

Főbb tuljdonságok BackgroundColor FontSize FontWeight ForegroundColor HorizontalAlignment Tag Value Visible Az objektum háttérszínét állíthatjuk be. Értékei lehetnek: white, black, red, blue, yellow, green vagy az RGB komponensek például [1 0 0] a piros. A betűk nagyságát adja meg. Értékei számok. A betűk stílusát állíthatjuk be. Értékei lehetnek: light, normal, demi, bold. Esetek többségében a betűk színe állítható vele. Szöveg igazítását teszi lehetővé. Értékei lehetnek: left, center, right. Az objektumon található szöveget tudjuk megadni. Segítségével egy objektumra tudunk hivatkozni. Érdemes beszédes nevet adni. A popup menü esetén megadja, hogy hányadik elem van kijelölve a listából. Segítségével egy objektumot, elrejthetünk a ablakon. Értékei lehetnek: on vagy off. 2007.12.14. VII. eloadas 7

Menu Editor A Matlab alkalmazások menüinek és kontextus menüinek interaktív létrehozását támogatja 2007.12.14. VII. eloadas 8

Object Browser Grafikus objektumainknak az objektumhierarchiában való elhelyezkedését tanulmányozhatjuk. Tab Order Editor A Tab billentyű nyomkodásával a grafikus objektumok között választani lehet. Itt megadhatjuk az objektumok sorrendjét 2007.12.14. VII. eloadas 9

Eseményvezérelt programozás A felhasználó a grafikus felhasználói felülettel a billentyűzeten keresztül vagy az egér segítségével kommunikál. A Matlab a következő felhasználó által kiváltott- események bekövetkezéséhez tud aktivitásokat rendelni Egérgomb megnyomása Egérgomb felengedése Az egér mozgatása grafikus ablak felett Egy billentyű lenyomása aktív grafikus ablakban Grafikus ablak átméretezése Grafikus ablak bezárása Ha több objektum helyezkedik el egymáson, akkor az egér mindig a legfelső objektumot veszi észre, hacsak nem tettük számára átlátszóvá a HitTest tulajdonság segítségével Grafikus függvényhez akciót úgy rendelhetünk, hogy az objektum megfelelő tulajdonságát a kívánt függvényhívással töltjük fel. A guide képes automatikusan egy keretrendszert generálni, amelyben a felhasználónak csak a feladat végrehajtása szempontjából fontos parancsokat kell begépelni. A keret rendszer egy M-fájlban jön létre és tartalmazza a felhasználó által kívánt eseményekhez rendelt kezelőfüggvények vázait. 2007.12.14. VII. eloadas 10

Grafikus objektumokhoz rendelhető akciótulajdonságok Callback az egérgomb lenyomáshoz hozzárendelt aktivitásokat hajtja végre ha az objektum Enable tulajdonsága On-ra van állítva. ButtonDownFcn tulajdonság által definiált függvény inaktív uicontrol objektumra, uicontrol közelébe kattintva hívódik meg. CreateFcn illetve DeleteFcn hívások a grafikus objektumok létrehozásakor, illetve megszüntetésekor hajtódnak végre KeyPressFcn segítségével az aktív objektumon belüli billentyű leütést kezelhetjük 2007.12.14. VII. eloadas 11

Ablakhoz rendelhető akció-tulajdonságok WindowButtonDownFcn, a WindowButtonMotionFcn, illetve a WindowButtonUpFcn tulajdonságok által meghatározott függvények mindig meghívódnak, amennyiben egy ablakban az egér gombját lenyomjuk, az egeret mozgatjuk, illetve az egér gombját felengedjük. CloseRequestFcn tulajdonságokhoz rendelt függvény akkor hajtódik végre, amikor az ablakozó rendszeren keresztül az ablak bezárását kérjük. ResizeFcn tulajdonságokhoz rendelt függvény akkor hajtódik végre, amikor az ablakot a felhasználó átméretezi. 2007.12.14. VII. eloadas 12

Általános objektumkezelő függvények A get és set utasítások, segítségükkel lekérdezhetjük az objektumok paramétereinek aktuális beállítását és meg is változtathatjuk azok értékét get(h) Kiírja a h azonosítójú objektum összes paraméterét és azok aktuális értékét. get(h,tuld) Megadja a tuld paraméter aktuális beállításának értékét. set(h) Kilistázza a h azonosítójú objektum összes állítható paraméterét, valamint azok lehetséges értékét és zárójelbe téve jelzi azok alapértelmezését. set(h,tuld) Kiírja a h azonosítójú objektum tuld paraméterének az aktuális beállítását. set(h,tuld, val,...) a h azonosítójú objektum tuld paraméterét a val értékre állítja. findobj(tuld, val,...) Megadja mindazon objektumok listáját, amelyeknek a tuld paramétere a megadott val értékre van beállítva clf Törli az aktuális grafikus ablakot. cla Törli az aktuális rajzot. close(h) Lezárja a h azonosítójú ablakot. reset(h) A h objektum paramétereit az alapértékekre állítja vissza. delete(h) Törli a h objektumot 2007.12.14. VII. eloadas 13

Grafikus objektumok azonosítója gcf - Az aktuális figure objektum, grafikus ablak azonosítóját adja meg. gca - Az aktuális axis objektum, rajz azonosítóját adja meg. gco Annak az objektumnak az azonosítóját adja meg, amelyikre a legutóljára kattintottunk az egérrel. Általánosan handles.tagazon utasítással hivatkozhatunk egy objektum azonosítójára, ahol a tagazon az objektum Tag tulajdonságának az értéke. Ezért érdemes a Tag tulajdonságnak beszédes neveket adni. Példa s=get(gcf, 'CurrentCharacter'); set(handles.text1, '', s); 2007.12.14. VII. eloadas 14

Példaprogramok 1.Egy gombra kattintva, a gombon véletlenszerűen generált számok jelenjenek meg. Megoldás Objektum Pushbutton1 Tulajdonság Tag Érték Veletlen szam g Veletlen szam gomb/callback s=num2str(rand*100); set(handles.g,'',s) 2007.12.14. VII. eloadas 15

2. Rajzoljuk ki a szinusz függvényt egy bekért intervallumon. Megoldás Objektum Static text1 Static text2 Edit text1 Edit text2 Pushbutton1 Axis1 Tulajdonság Tag Tag Érték a= b= 0 a 1 b Rajzol Rajzol gomb/callback k=str2num(get(handles.a,'string')); v=str2num(get(handles.b,'string')); x=k:0.01:v; y=sin(x); plot(x,y) 2007.12.14. VII. eloadas 16

3. Olvass be 3 számot. Írasd ki a legnagyobbikat. Megoldás Objektum Tulajdonság Érték Static text1 Kerek harom szamot: Edit text1 Tag a Edit text2 Tag b Edit text3 Pushbutton1 Static text2 Edit text4 Tag Tag Enable c Szamol Legnagyobbik: e off Szamol gomb/callback x=str2num(get(handles.a,'string')); y=str2num(get(handles.b,'string')); z=str2num(get(handles.c,'string')); m=x; if y>m m=y; end if z>m m=z; end set(handles.e,'string',m); 2007.12.14. VII. eloadas 17

4. Helyezz el az ablakba egy szöveget, ahol a szöveg igazítását lehessen változtatni egy popup menü segítségével. Megoldás Objektum Edit text1 Popupmenu1 Tulajdonság Tag Tag Érték Szoveg sz Kozepre Elore Hatra m Popup menu/callback x=get(handles.m,'value'); if x==1 s='center'; end if x==2 s='left'; end if x==3 s='right'; end set(handles.sz,'horizontalalignment',s); 2007.12.14. VII. eloadas 18

5. Helyezz el az ablakba egy szövegmezőt, amely szövegének a színét és a méretét menüből lehet változtatni. Megoldás Objektum Edit text1 Tulajdonság Tag Érték Szoveg sz Létre hozzuk a köv. menürendszert: Szin Meret Piros Fekete Piros menü/callback set(handles.sz,'foregroundcolor','red') Fekete menü/callback set(handles.sz,'foregroundcolor','black') Meret menü/callback set(handles.sz,'fontsize',fix(rand*40)+4); 2007.12.14. VII. eloadas 19

6. Készíts egy animációt (avi fájlba). Egy körön mozogjon egy pont. Objektum Axis1 Pushbutton1 Tulajdonság DoubleBuffer NextPlot Érték on replace Rajzol Rajzol gomb/callback mov = avifile('e4.avi') x = -pi:.1:pi; for k=1:length(x) plot(cos(x),sin(x)); hold on plot(cos(x(k)),sin(x(k)),'*r'); hold off axis([-2 2-2 2]); F = getframe(gca); mov = addframe(mov,f); end mov = close(mov); 2007.12.14. VII. eloadas 20

7. Készíts egy animációt (gif állományba). Egy körön mozogjon egy pont. Objektum Axis1 Pushbutton1 Tulajdonság DoubleBuffer NextPlot Érték on replace Rajzol Rajzol gomb/callback x = -pi:.1:pi; for k=1:length(x) plot(cos(x),sin(x)); hold on plot(cos(x(k)),sin(x(k)),'*r'); hold off axis([-2 2-2 2]); F = getframe(gca); nev=strcat('fnev',num2str(k+1000),'.jpg'); imwrite(f.cdata,nev); end Az aktuális könyvtárba létrehozza a jpg állományokat. Letöltesz az internet-ről egy gif animátort (www.gif-animator.com), és legenerálod a gif állományodat. 2007.12.14. VII. eloadas 21

Zárthelyi dolgozat felépítése 1. Függvény megadása 2p 2. Adatfeldolgozás 1,5p 3. Kétdimenziós grafika 2p 4. Háromdimenziós grafika 1,5p 5. Grafikus felhasználói felület 2p Jelenlét 1p 2007.12.14. VII. eloadas 22