QT Grafika az alap alkalmazás (GrafikaQtvel) működése
|
|
- Valéria Szilágyiné
- 6 évvel ezelőtt
- Látták:
Átírás
1 QT Grafika az alap alkalmazás (GrafikaQtvel) működése Állapot mentése és visszaállítása Intézzük el, hogy a program megjegyezze a beállításainkat, beleértve az ablak pozícióját és indításkor az utoljára használt adatokat töltse vissza. Erre szolgál a QSettings osztály (használatához :#include <QSettings>), amelyik platformfüggetlenül használható, noha mind a paraméterek tárolási helye, mind a formátuma különbözhet az egyes platformokon 1. A QSettings osztály a QVariant-ból van leszármaztatva, ezért olyan változók értékeit tudjuk vel közvetlenül beolvasni, amelyek a QtCore-hoz tartoznak. A grafikus típusok beolvasására a QSettings::value <típus>() template konverziós függvényeket használhatjuk, a többi típusra a QVariant-nál is látottakat (pl. QSettings::value(kategória név, érték).toint() ) használhatjuk. Az értékek beállítása QSettings::setValue(név, érték) függvény szolgál. A QSettings-nek ötfajta konstruktora van. Ezek közül mi a QSetting s(alap név, program név) konstruktort fogjuk használni. Az alap név pl. egy cégnév lehet, nálunk a Programozás 3 lesz ez, a program neve pedig GrafikaQtvel. A QSettings-el elmentett adatok lehetnek egy hierarchia részei. Pl. egy ablak helyzete, illetve méretei az ablakhoz tartoznak ezért egy hierarchiába rendezhetőek: Ablak x a bal oldal x koordinátája y y koord. w szélessége h magassága Ezekhez elnevezhetnénk 'Ablak_x',, Ablak_y, Ablak_w és Ablak_h, de használhatnánk az Ablak/x, Ablak/y, Ablak/w és Ablak/h neveket is, de ez nem lenne áttekinthető. 1 Pl. Windows platformon a paraméterek a Registry-ben tárolódnak, ami egy nem szöveges adatbázis, OS X és.ios alatt ún. property listákban, UNIX alatt pl. INI fájlokban.
2 Szerencsére a QSettings lehetővé teszi hierarchiák létrehozását azzal, hogy beállításainkat csoportokba rendezhetjük. A fenti esetre így: QSettings s("programozás 3", " GrafikaQtvel"); s.begingroup("ablak"); s.setvalue("x", geometry.left() ); s.setvalue("y", geometry.top() ); s.setvalue("w", geometry.width() ); s.setvalue("h", geometry.height() ); s.endgroup(); Minden widget-nek megvannak ezek a geometriai adatai. Ezeknek az elmentésére sokszor van szükség. Hogy ne kelljen minden widgethez a fenti csoportban szereplő 4 sort beírni használjuk a Qt savegeometry() kényelmi függvényét. Egy ablaknak (QMainWindow vagy QDialog) azonban nem csak geometriai adatai vannak, hanem több állapota is van: lehet normál, teljes képernyős, vagy ikon állapotban. Ezeket a savestate() függvénnyel menthetjük el. Tehát az ablakokhoz a savegeometry() és a savestate() függvény egyaránt szükséges. Ezek visszaállításához a restoregeometry() és restorestat()e függvényeket fogjuk használni, berakva ezeket egy csoportba. Esetünkben azonban nem csak az ablakunk adatait, hanem más adatokat is szeretnénk tartósan tárolni. Ilyenek pl. a közös toll vastagság, stílus, stb paraméterek. Ezért ezek beolvasására és kiírására létre fogunk hozni két függvényt. A program indulásakor beolvassuk és visszaállítjuk az egyes paramétereket, a programból való kilépéskor elmentjük azokat. Ezt a két függvényt módosítjuk majd, ahogy egyre több adatot kell majd letároljunk. Az áttekinthetőség érdekében minden egyes lap adatainak elmentéséhez és visszaolvasásához külön függvényt készítünk. Ezeket fokozatosan töltjük meg tartalommal. Adjuk hozzá a #include <QColor> sort a grafikaqtvel.h fájlhoz, a #include <QSettings> sort a grafikaqtvel.cpp fájlhoz! Ezután adjuk hozzá az elmenteni kívánt private mezőket 2 (ezekben tároljuk a rajzolási paramétereket) a GrafikaQTvel osztályhoz. Egyelőre csak a közös paraméterek kerülnek ide, 2 Konvenció: Minden olyan mező, illetve függvény nevét, amelyek private-ok egy osztályban aláhúzással fogjuk kezdeni. Minden függvény neve (az esetleges kezdő aláhúzás karaktert nem számítva) nagybetűvel kezdődik, hogy megkülönböztessük ezeket a Qt-beli függvényektől.
3 de a lista a későbbiekben bővülni fog majd. Mindegyik alábbi elmenteni kívánt tulajdonságnak saját típusa van a Qt-ben, amit itt megjegyzésbe írunk, mert tulajdonság neve helyett csak egy sorszámot fogunk elmenteni. QColor _pencolor, _brushcolor; int _penwidth; int _penstyle; // Qt::QPenStyle int _pencap; // Qt::QPenCapStyle int _penjoin; // Qt::QPenJoinStyle int _brushstyle; // Qt::BrushStyle Adjuk hozzá az állapot elmentésére és visszaolvasására szolgáló következő két private függvény deklarációját a.h fájlhoz! void _SaveState(); Ez hívja meg a minden lap beállításainak elmentését végző függvényt, void _ReadState(); ez pedig a visszaállításukat. Adjuk a függvények definícióit a.cpp fájlhoz: // elmenti az alkalmazás állapotát void GrafikaQTvel::_SaveState() QSettings settings("programozás 3", "firstdraw"); settings.begingroup("ablak"); settings.setvalue("geometry", savegeometry()); settings.setvalue("state", savestate()); // Közös rajzolási beállítások: settings.begingroup("toll"); settings.setvalue("vastagság", _penwidth); settings.setvalue("szín", _pencolor); settings.setvalue("stílus", _penstyle); settings.setvalue("vonalvég", _pencap); settings.setvalue("kapcsolódás", _penjoin); settings.begingroup("ecset"); settings.setvalue("szín", _brushcolor); settings.setvalue("stílus", _brushstyle); // Egyéb paraméterek elmentése A geometria és az állapot visszaolvasásánál egy bájtokból álló tömbé kell alakítani az adatokat: void GrafikaQTvel::_ReadState() QSettings settings("programozás 3", "firstdraw"); settings.begingroup("ablak");
4 restoregeometry(settings.value("geometry").tobytearray()); restorestate(settings.value("state").tobytearray()); settings.begingroup("toll"); _penwidth=settings.value("vastagság", 1).toInt(); //1: default // Mival a QColor nem QVariant cselezni kell _pencolor = settings.value("szín").value<qcolor>(); _penstyle = settings.value("stílus", 1).toInt(); // 1: Qt::SolidLine _pencap = settings.value("vonalvég", Qt::FlatCap).toInt(); _penjoin = settings.value("kapcsolódás", Qt::MiterJoin).toInt(); // Egyéb paraméterek beolvasása A konstruktorban írjuk be az állapot beolvasását, a destruktorban a kiírását: GrafikaQTvel::GrafikaQTvel(QWidget *parent) : QMainWindow(parent) ui.setupui(this); _ReadState(); Ahhoz, hogy az alkalmazásunk valóban platformfüggetlen legye be kell tartanunk néhány szabályt: 1. Mivel vannak platformok ahol a kis és nagybetű azonos, és vannak, ahol különböző ugyanazt a nevet mindig ugyanúgy írjuk. 2. Ne használjunk olyan neveket, amelyek egymástól csak a kis- és nagybetűkben különböznek 3. Ne használjunk /, vagy \ karaktereket a nevekben. A / karakter a név hierarchiájának megadásánál szerepel. A közös paraméterek beállítása Bár a Toll és Ecset fejlécű lapot hoztuk létre utoljára az ottani adatokat állítjuk be először. Ezért inkább legyen ez az első lap! Ehhez válasszuk ki ezt és a jobb egérgombos menüből a Change Order almenüt! Kattintsunk az utolsó lap nevére, majd a felfele nyíllal vigyük fel legfelülre! Noha ez látszólag nem változtatja meg a lap indexét, a valóságban azonban az is megváltozik, de csak akkor látjuk, ha sorrend beállításba újra belépünk. Nyomjuk meg a Rendben/Ok-t!
5 Az első kérdés: mikor változtassuk meg a lokális változóink értéket? Rögtön a beállításuk után, vagy csak amikor kilépünk a programból? Ha az itteni beállítások egy másik ablakban lennének, akkor mindenképpen az előbbit választanánk. Most ez nem kötelező, de tegyük ezt! De minek kell az egyes mezők kiindulási értékeinek lenniük? Az, amit beolvastunk a beállításokból. Vagyis a beállítások beolvasása után azonnal át kell állítani az eszköztár lapjain levő értékeket. Ezt a beállítást célszerű minden lapnál egy külön függvénybe tenni, amiket egyetlen függvényből a neve legyen _SetupControls() tudunk meghívni. A függvény, ami csak a Toll és Ecset lapon szereplő értékeket állítja be legyen void _SetupCommon()! Hasonló függvényeket adhatunk a többi laphoz is. Érdemes előre gondolkozni. Mivel tudjuk mit fogunk csinálni a függvények deklarációit már most adjuk hozzá a.h fájlhoz: void _SetupControls(); // közös paraméterek Toll és Ecset lap void _SetupCommon(); // t0bbi lap void _SetupDrawing(); void _SetupGraph(); void _SetupInteract(); void _SetupFractal(); void _SetupTransform(); void _SetupShapes(); void _SetupPictures(); void _SetupFilters(); és egyelőre üres definícióikat a.cpp fájlhoz!: void GrafikaQTvel::_SetupCommon() void GrafikaQTvel::_SetupDrawing() void GrafikaQTvel::_SetupGraph() void GrafikaQTvel::_SetupInteract() void GrafikaQTvel::_SetupFractal() void GrafikaQTvel::_SetupTransform() void GrafikaQTvel::_SetupShapes() void GrafikaQTvel::_SetupPictures() void GrafikaQTvel::_SetupFilters() A _SetupControls() egyszerű: void GrafikaQTvel::_SetupControls() _SetupCommon(); _SetupDrawing(); _SetupGraph(); _SetupInteract();
6 _SetupFractal(); _SetupTransform(); _SetupShapes(); _SetupPictures(); _SetupFilters(); Ezt a függvényt meg kell hívjuk a konstruktorban, a _ReadState() után: GrafikaQTvel::GrafikaQTvel(QWidget *parent) : QMainWindow(parent) ui.setupui(this); _ReadState(); _SetupControls(); Most megírjuk a SetupCommon() törzsét. Ahogy előbbre haladunk a programban majd elkészítjük a többi lap Setup () függvényét is. A _SetupCommon()-ban először beállítjuk a toll vastagságot: ui.sbpenwidth.setvalue(_penwidth); utána pedig az egyes lenyíló listák elem indexét (currentindex): ui.cbpenstyle->setcurrentindex(_penstyle); ui.cbpencap->setcurrentindex(_pencap); ui.cbpenjoin->setcurrentindex(_penjoin); Ezután be kell állítsuk a színeket. Ehhez a tudnunk kell, hogy a QColor típus mit is tartalmaz és hogyan kell vele bánnunk. Színekről röviden Az emberi szemben háromféle 3 színérzékelő csapocska van, ezek érzékenységének maximuma durván a kék, zöld és vörös színeknek felel meg. A zöld és vörös színérzékelő csapocskák érzékenységi görbéje átlapolódik a kéké ezektől távol van (S nm, M nm, L nm). 3 Egyes nőknek 4 színérzékelő csapocska van a szemében. Ők sokkal több színt tudnak megkülönböztetni, mint a többi nő, illetve minden férfi.
7 Ezért a vörös (R), zöld (G) és kék (B) színeket szoktuk alapszíneknek nevezni. Ezek adják az RGB színteret. Amikor alapszíneket keverünk össze más színeket kapunk. Kétfajta színkeverési módszer van az összeadó (additív), ami annak felel meg, hogy a színeket egymásra vetítjük (ezt használják a monitorok is) és a kivonó (szubtraktív), amit a festészetben, illetve a színes nyomtatásban használnak. A szubtraktív színkeverés alapszínei a bíbor (M - magenta), sárga (Y) és a cián (C). A szubtraktív színkeverés alapszínei az additív színkeverés alapszíneinek páronkénti összadásával állíthatóak elő és ezeket ilyenkor kiegészítő színeknek nevezik 4. Mindhárom additív komponenst egyenlő arányban összekeverve a szürke árnyalatait kapjuk, feketétől (mindegyik komponens 0%) a fehérig (mindegyik komponens 100%). Ugyanígy eljárva a szubtraktív rendszerben a fehértől (mindegyik komponens 0%) a feketéig (mindegyik komponens 100%) terjedő tartományt kapjuk meg. Legalább is elvileg, mert a gyakorlatban a feketét sosem érjük el. Ezért nyomtatásnál általában fekete festéket (black) is kell használni. E miatt a szubtraktív rendszert szokás CMYK 5 színrendszernek is nevezni. Egy színt tehát megadhatunk a három komponensének százalékos arányával. Attól függően, hogy a tartományt hány részre bontjuk fel függ a megjeleníthető színek száma. A legelterjedtebb monitorokban, illetve a legnépszerűbb képformátumú JPG kép fájlokban mindegyik színhez a tartomány tartozik, vagyis a JPG-ben összesen 0x = szín, de mindössze 256 szürke árnyalat jeleníthető meg. A színeket azonban más módokon is megadhatjuk. Az R G és B értékek egy háromdimenziós térnegyedet feszítenek ki, mert az intenzitások nem negatívok. Ebben a térben bevezethetünk más, pl. hengerkoordináta rendszereket is. 4 Ez persze nem jelenti azt, hogy additív keveréssel állítunk elő szubtraktív szín rendszert. 5 Vagy CYMK.
8 A HSL 6 (Hue Saturation Lightness or Luminosity) és a HSB (Hue Saturation Value) ilyen a számítógépes grafikában kiterjedten használt hengerkoordinátarendszerek: Mind az RGB, mind a HSL és HSV rendszerek két dimenzióban is ábrázolhatóak, ahogy az az ábrán is látszik. Szín kalibráció szín profilok Amikor egy szín R, G és B összetevőit megadjuk, akkor látszólag pontosan meghatároztuk a színt. De a gyakorlatban nem ez a helyzet. Ugyanazt a tárgyat lefényképezve különböző típusú fényképezőgépekkel az eredő színek mások lesznek. Ugyanaz a kép, pl. egy fotó többnyire egész máshogy fog kinézni két különböző monitoron, vagy egy monitoron és egy mobilon vagy laptopon, illetve nyomtatásban. Ennek az az oka, hogy a különböző eszközök nem ugyanúgy reagálnak ugyanarra az RGB színhármasra. Különbözhet a színt adó szűrők és festékek átviteli karakterisztikája, a színárnyalatok mennyisége, eloszlása illetve az intenzitás 6 Hívják még HLS és HSB (B-brightness)-nek is.
9 is befolyásolhatja a színeket (gamma). A színmélység az egy színt meghatározó bitek száma is különbözhet. Ahhoz, hogy egy munkafolyamat során az érzékelt színek minden eszközön ugyanazok lehessenek az egyes eszközök karakterisztikáját le kell mérni. Ezekből szín konverziós táblázatokat képezhetünk, amelyek megadják, hogy egy adott szín eléréséhez az illető eszköz milyen RGB komponenseket vár. Az így meghatározott táblázatok az ICC (International Color Consortium) szín profilok. Ezek kiterjesztése általában.icc, vagy.icm, vagy. Egy hibás színprofil teljesen elronthatja monitor képét. Professzionális grafikai és fotószerkesztési célokra kalibrált eszközöket kell használni. Még arra is ügyelni kell, hogy a környezet megvilágítása is ugyanaz legyen mindegyik eszköznél. Színterek Fent említettük, hogy a JPG formátumú képek minden színkomponenst csak 8 biten tárolnak le. A modern fényképezőgépek ennél többre képesek: 12, 14, ill. 16 bites színmélységgel rendelkeznek, ebből állítják elő a 8 bites színeket 7.. A fentiekben láttuk, hogy bitmélység azonban nem elég az eszközök színrögzítési, illetve színábrázolási képességeinek leírására, abba beleszól az eszköz szín profilja is. De még ez is kevés információ. Egyáltalán nem biztos, hogy egy adott RGB szín rögzítésére, ill. megjelenítésére egy eszköz egyáltalán képes-e. A rögzíthető/megjeleníthető színek tartományát 8 az illető eszköz színterének nevezzük. Ez egyértelműen az eszközre jellemző. A színteret az RGB térben egy térfogattal adhatjuk meg. Minél nagyobb egy eszköz színtere annál több telített és intenzív színt tartalmaz. Mivel az eszközök színterei bármilyenek lehetnek színek szerkesztéséhez eszközfüggetlen színtereket használunk. Ezek legszűkebbikét srgb-nek hívják, ez az, amit minden eszköznek tudnia kell. Az olcsóbb 8 bites monitorok 9 ezt ismerik csak. Ez az interneten használt 7 Jobb fényképezőgépekben az eredeti feldolgozatlan bites szenzor adatokat is el lehet menteni. Az ezeket tartalmazó fájlokat összefoglaló néven RAW (nyers) fájloknak hívják. A RAW fájlok konkrét szerkezete gyártótól függő. Kiterjesztéseik lehetnek pl..crw,.cr2,.nef,.pef,.rw2, stb. Van egy nyílt formátuma is az Adobe.DNG (Digital Negative Format) 8 Megnevezése: gamut. 9 Sok "8 bites" olcsó monitor valójában csak 6 bites és a 8 bitet kis csalással: színek összemosásával szimulálják.
10 szabványos színtér is 10. Az srgb messze nem tartalmaz minden színt, amit az emberi szem meg tud különböztetni. A nyomtatók és fényképezőgépek színterei ennél nagyobbak. A legáltalánosabban szerkesztésre használt eszközfüggetlen színtér az Adobe RGB. Szokásosan a 3 dimenziós szín teret síkban ábrázolják. Egy ilyen ábrán összehasonlítva az eszközfüggetlen színtereket ezt az ábrát kapjuk (Wikipedia): Leolvasható, hogy a látható színek tartománya sok helyütt nagyobb, mint ezeké a színtereké de vannak a színterekben olyan színek is, amiket az emberi szem nem tud megkülönböztetni. Színek a Qt- ban QColor konstruktorai RGB-t várnak: QColor::QColor(int r, int g, int b, int a = 255); QColor::QColor(QRgb color); QColor::QColor(Qt::GlobalColor color) 10 A modern böngészők más színtereket is ismernek.
11 A QColor az érvényes színek mellett érvénytelen értékeket is tartalmazhat. Azt, hogy egy szín érvénytelen-e az isvalid() függvénnyel nézhetjük meg. Színek megadására használhatjuk a sztatikus fromrgb függvények valamelyikét: QColor QColor::fromRgb(int r, int g, int b, int a = 255); QColor QColor::fromRgb(QRgb rgb); A QRgb az unsigned int-tel ekvivalens érték, amit a #AARRGGBB hexadecimális számnégyessel adhatunk meg. Az AA szám az alfa csatorna, ami az adott szín átlátszóságát fejezi ki. Az a maximális értéke (itt 255) az átlátszatlan színt jelenti. Az alfa csatorna azért jó, mert ha két vagy több képet helyezünk egymásra a megjelenítéshez nem kell az egyes rétegek színeit elrontani és átírni. Az egyes szín komponenseket és az alfa csatorna értékét a red(), redf(), green(), greenf(), blue(), bluef(), alpha() és alphaf() függvényekkel kaphatjuk meg. Az F végűek 0 és 1.0 közötti valós, a többi 0 és 255 (65535) közötti egész értékeket ad vissza. A színek stíluslapokban használható szöveges numerikus, reprezentációját (#RRGGBB) a name() függvény adja vissza. A QColor típussal a színeket RGB, HSV és CMYK rendszerben is megadhatjuk, illetve megkaphatjuk. HSV-ből a sztatikus QColor QColor::fromHSV(int h, int s, int v, int a = 255) függvénnyel, ahol s és v 256 (0 255) értéket, h 360 (0 359) értéket vehet fel, vagy a szintén sztatikus QColor QColor::fromHsvF(qreal h, qreal s, qreal v, qreal a = 1.0); függvénnyel, ahol minden paraméter 0 és 1.0 között lehet. Az a paraméter az alfa csatorna. Hasonló függvények vannak a CMYK rendszerre is. Ugyanazon színek komponensei a három rendszerben:
12 A szín kiválasztására szolgáló gombok színek beállítása A gombok színének átírásához csak azok stíluslapjaiban a háttérszínt kell beállítanunk: ui.btnpencolor->setstylesheet("background:" + _pencolor.name()); ui.btnbrushcolor->setstylesheet("background:" + _brushcolor.name()); Az értékek átírása Azt akarjuk, hogy a színes gombokat megnyomva átírhassuk az egyes színeket. Ehhez meg kell írjuk a gombok SIGNAL-jait fogadó SLOT-ok lekezelését. A legegyszerűbb formában ez az on_widget_signal(paraméterek) sablonnak megfelelő SLOT definíciókkal működik: Írjuk be a deklarációkat a.h void on_sbpenwidth_valuechanged(int); void on_cnpenstyle_currentindexchanged(int index); void on_cnpencap_currentindexchanged(int index); void on_cnpenjoin_currentindexchanged( int index); void on_btnpencolor_clicked(); void on_btnbrushcolor_clicked(); és a definíciókat a.cpp fájlba! A fenti függvények között a Spin Box és a Combo Box-ok értékének változására meghívódó SLOT-okat könnyű megadni Ezekben elmentjük magunknak az új adatokat: void GrafikaQTvel::on_sbPenWidth_valueChanged(int val) _penwidth = val; void GrafikaQTvel::on_cnPenStyle_currentIndexChanged(int index) _penstyle = index; void GrafikaQTvel::on_cnPenCap_currentIndexChanged(int index) _pencap = index; void GrafikaQTvel::on_cnPenJoin_currentIndexChanged(int index) _penjoin = index;
13 A színek megváltoztatásához használjuk a Qt egyik beépítet dialógusának a QColorDialognak a getcolor() sztatikus függvényét. A getcolor a QColorDialog sztatikus kényelmi függvénye. Első paramétere az eredeti szín, a második az az ablak, amihez képest a dialogus modal 11 lesz, utolsó paramétere a dialógus címszövege, visszatérési értéke pedig a dialógusban kiválasztott szín. Ha a dialóguson belül az "Elvet" vagy "Cancel" gombot nyomjuk meg a visszaadott szín érvénytelen lesz. Első lépésként be kell include-oljuk a #include <QColorDialog>; header fájlt a cpp fájlba. Ezután meg kell írjuk a szín dialógus SLOT-ját: void on_btnpencolor_clicked() Lekérjük az eredeti stíluslapot, ami szöveges: QString s = ui.btnpencolor->stylesheet(); Mivel mi állítottuk be, tudjuk, hogy a formátuma "background:#rrggbb", vagyis a szín egy ':' után van megadva. A QColor-nak van olyan konstruktora, ami "#RRGGBB" szöveget vár, tehát a ':' utáni részt kell kivágni, ami a QString::mid(<string>, <kezdő pozíció>) függvénnyel történhet. A kezdő pozíciót a QString::indexOf(<keresett sztring>) függvény adja meg, ami -1-el tér vissza, ha a keresett szöveg nem található. Int pos = qs.indexof(":"); qs = qs.mid(pos); QColor col = QColor(qs); Ezután megjelenítjük a szín választási dialógust és kiválasztunk vele egy színt: col = QColorDialog::getColor(col, this, "Válassz toll színt!"); Csak akkor írjuk át a toll színét, ha a visszaadott szín is helyes volt. if (col.isvalid()) // egyébként az "Elvet" volt megnyomva _pencolor = col; qs = "background:" + col.name(); // az új stílus ui.btnpencolor->setstylesheet(qs); Ezzel a függvényt befejeztük: 11 Amíg egy modal dialógus be nem fejeződik az ablak, amelyik őt létrehozta nem elérhető.
14 Az ecset színének átírása ugyanígy történik. A gyakorlatban az egyes lépéseket összevonjuk így a teljes függvény az ecset szín kiválasztására a következő lesz: void GrafikaQTvel::on_btnBrushColor_clicked() QString qs = ui.btnbrushcolor->stylesheet(); QColor col = QColor(qs.mid(qs.indexOf(":"))); col = QColorDialog::getColor(col, this, "Válassz ecset színt!"); if (col.isvalid()) // egyébként az "Elvet" volt megnyomva _brushcolor = col; ui.btnbrushcolor->setstylesheet("background:" + col.name());
15 A GrafikaQtvel projekt aktuális fájljai main.cpp #include "grafikaqtvel.h" #include <QtWidgets/QApplication> int main(int argc, char *argv[]) QApplication a(argc, argv); GrafikaQTvel w; w.show(); return a.exec(); grafikaqtvel.h class GrafikaQTvel : public QMainWindow Q_OBJECT public: GrafikaQTvel(QWidget *parent = 0); ~GrafikaQTvel(); private: Ui::GrafikaQTvelClass ui; // közös paraméterek Toll és Ecset lap QColor _pencolor, _brushcolor; int _penwidth; int _penstyle; int _pencap; int _penjoin; int _brushstyle; private slots: void _SaveState(); void _ReadState(); void _SetupControls(); // közös paraméterek Toll és Ecset lap void _SetupCommon(); // t0bbi lap void _SetupDrawing(); void _SetupGraph(); void _SetupInteract(); void _SetupFractal(); void _SetupTransform(); void _SetupShapes(); void _SetupPictures(); void _SetupFilters();
16 ; void on_sbpenwidth_valuechanged(int); void on_cbpenstyle_currentindexchanged(int index); void on_cbpencap_currentindexchanged(int index); void on_cbpenjoin_currentindexchanged( int index); void on_cbbrushstyle_currentindexchanged(int index); void on_btnpencolor_clicked(); void on_btnbrushcolor_clicked(); #endif // GRAFIKAQTVEL_H grafikaqtvel.cpp #include "grafikaqtvel.h" #include <QSettings> #include <QColorDialog> GrafikaQTvel::GrafikaQTvel(QWidget *parent) : QMainWindow(parent) ui.setupui(this); _ReadState(); _SetupControls(); GrafikaQTvel::~GrafikaQTvel() _SaveState(); void GrafikaQTvel::_SaveState() QSettings settings("programozás 3", "GrafikaQtvel"); // A geometria settings.begingroup("ablak"); settings.setvalue("geometry", savegeometry()); settings.setvalue("state", savestate()); // Közös rajzolási beállítások: settings.begingroup("toll"); settings.setvalue("vastagság", _penwidth); settings.setvalue("szín", _pencolor); settings.setvalue("stílus", _penstyle); settings.setvalue("vonalvég", _pencap); settings.setvalue("kapcsolódás", _penjoin); settings.begingroup("ecset"); settings.setvalue("szín", _brushcolor);
17 settings.setvalue("stílus", _brushstyle); // Egyéb paraméterek elmentése void GrafikaQTvel::_ReadState() QSettings settings("programozás 3", "GrafikaQtvel"); // A geometria settings.begingroup("ablak"); restoregeometry(settings.value("geometry").tobytearray()); restorestate(settings.value("state").tobytearray()); settings.begingroup("toll"); _penwidth=settings.value("vastagság", 1).toInt(); //1: default // Mival a QColor nem QVariant _pencolor = settings.value("szín", 0).value<QColor>(); _penstyle = settings.value("stílus", 1).toInt(); // 1: Qt::SolidLine _pencap = settings.value("vonalvég", Qt::FlatCap).toInt(); _penjoin = settings.value("kapcsolódás", Qt::MiterJoin).toInt(); settings.begingroup("ecset"); _brushcolor = settings.value("szín", 0xFFFFFF).value<QColor>(); _brushstyle = settings.value("stílus", 0).toInt(); // 0: Qt::NoBrush // Egyéb paraméterek beolvasása void GrafikaQTvel::_SetupControls() _SetupCommon(); // közös paraméterek Toll és Ecset lap void GrafikaQTvel::_SetupCommon() ui.sbpenwidth->setvalue(_penwidth); ui.cbpenstyle->setcurrentindex(_penstyle); ui.cbpencap->setcurrentindex(_pencap); ui.cbpenjoin->setcurrentindex(_penjoin); ui.btnpencolor->setstylesheet("background:" + _pencolor.name()); ui.btnbrushcolor->setstylesheet("background:" + _brushcolor.name()); // t0bbi lap void GrafikaQTvel::_SetupDrawing() void GrafikaQTvel::_SetupGraph() void GrafikaQTvel::_SetupInteract() void GrafikaQTvel::_SetupFractal() void GrafikaQTvel::_SetupTransform()
18 void GrafikaQTvel::_SetupShapes() void GrafikaQTvel::_SetupPictures() void GrafikaQTvel::_SetupFilters() void GrafikaQTvel::on_sbPenWidth_valueChanged(int val) _penwidth = val; void GrafikaQTvel::on_cbPenStyle_currentIndexChanged(int index) _penstyle = index; void GrafikaQTvel::on_cbPenCap_currentIndexChanged(int index) _pencap = index; void GrafikaQTvel::on_cbPenJoin_currentIndexChanged(int index) _penjoin = index; void GrafikaQTvel::on_cbBrushStyle_currentIndexChanged(int index) _brushstyle = index; void GrafikaQTvel::on_btnPenColor_clicked() QString qs = ui.btnpencolor->stylesheet(); // a szöveg: background:#rrggbb alakú QColor col = QColor(qs.mid(qs.indexOf(":"))); col = QColorDialog::getColor(col, this, "Válassz toll színt!"); if (col.isvalid()) // egyébként az "Elvet" volt megnyomva _pencolor = col; ui.btnpencolor->setstylesheet("background:" + col.name()); void GrafikaQTvel::on_btnBrushColor_clicked() QString qs = ui.btnbrushcolor->stylesheet(); background:#rrggbb alakú QColor col = QColor(qs.mid(qs.indexOf(":"))); // a szöveg: col = QColorDialog::getColor(col, this, "Válassz ecset színt!"); if (col.isvalid()) // egyébként az "Elvet" volt megnyomva
19 _brushcolor = col; ui.btnbrushcolor->setstylesheet("background:" + col.name()); A következő feladat az egyes lapok programjának elkészítése. Ezt a következő dokumentumban (DrawingPage) írjuk le.
A jobboldalon a pnlright egy Stacked Widget Állítsuk be az első lapot és nevezzük el pnldraw-ra:
A Rajzolás lap A rajzolás lap elemi rajzolási lehetőségek bemutatására szolgál. A rajzolás a jobboldali pnlright widget egyik lapjára rakott widgetre történik. A pnlright egy több lapot tartalmazó widget
Színek 2013.10.20. 1
Színek 2013.10.20. 1 Képek osztályozása Álló vagy mozgó (animált) kép Fekete-fehér vagy színes kép 2013.10.20. 2 A színes kép Az emberi szem kb. 380-760 nm hullámhosszúságú fénytartományra érzékeny. (Ez
A digitális képfeldolgozás alapjai
A digitális képfeldolgozás alapjai Digitális képfeldolgozás A digit szó jelentése szám. A digitális jelentése, számszerű. A digitális információ számokká alakított információt jelent. A számítógép a képi
Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak
Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak Az emberi színlátás Forrás: http://www.normankoren.com/color_management.html Részletes irodalom: Dr. Horváth András: A vizuális észlelés
Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak
Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak Az emberi színlátás Forrás: http://www.normankoren.com/color_management.html Részletes irodalom: Dr. Horváth András: A vizuális észlelés
if(_param.antialias) painter.setrenderhint(qpainter::antialiasing, true);
Elmosás (antialias) struct RajzParameterek int penwidth = 1; Qt::PenStyle penstyle = Qt::SolidLine; Qt::PenCapStyle pencap = Qt::FlatCap; Qt::PenJoinStyle penjoin = Qt::MiterJoin; Qt::BrushStyle brushstyle
A színérzetünk három összetevőre bontható:
Színelméleti alapok Fény A fény nem más, mint egy elektromágneses sugárzás. Ennek a sugárzásnak egy meghatározott spektrumát képes a szemünk érzékelni, ezt nevezzük látható fénynek. Ez az intervallum személyenként
bool _freehand = false; QPoint _lastpoint; // ebben a pontban volt az utolsó rajzolásnál az egérmutató
canvas.h #pragma once #include #include #include #include #include #include #include // terület kiválasztáshoz struct RajzParameterek
Grafikus Qt programok írása segédeszközök nélkül
Grafikus Qt programok írása segédeszközök nélkül Grafikus felületű Qt programokat ahogy láttuk, készíthetünk egy egyszerű szövegszerkesztővel is, bár a Qt jó támogatást ad a grafikus felület grafikus tervezésére
Számítógépes grafika. Készítette: Farkas Ildikó 2006.Január 12.
Számítógépes grafika Készítette: Farkas Ildikó 2006.Január 12. Az emberi látás Jellegzetességei: az emberi látás térlátás A multimédia alkalmazások az emberi érzékszervek összetett használatára építenek.
OPTIKA. Hullámoptika Színek, szem működése. Dr. Seres István
OPTIKA Színek, szem működése Dr. Seres István : A fény elektromágneses hullám A fehér fény összetevői: Seres István 2 http://fft.szie.hu Színrendszerek: Additív színrendszer Seres István 3 http://fft.szie.hu
Képszerkesztés elméleti feladatainak kérdései és válaszai
Képszerkesztés elméleti feladatainak kérdései és válaszai 1. A... egyedi alkotóelemek, amelyek együttesen formálnak egy képet. Helyettesítse be a pixelek paletták grafikák gammák Helyes válasz: pixelek
Szürke árnyalat: R=G=B. OPENCV: BGR Mátrix típus: CV_8UC3 Pont típus: img.at<vec3b>(i, j) Tartomány: R, G, B [0, 255]
Additív színmodell: piros, zöld, kék keverése RGB hullámhossz:700nm, 546nm, 435nm Elektronikai eszközök alkalmazzák: kijelzők, kamerák 16 millió szín kódolható Szürke árnyalat: R=G=B OPENCV: BGR Mátrix
Szürke árnyalat: R=G=B. OPENCV: BGR Mátrix típus: CV_8UC3 Pont típus: img.at<vec3b>(i, j) Tartomány: R, G, B [0, 255]
Additív színmodell: piros, zöld, kék keverése RGB hullámhossz:700nm, 546nm, 435nm Elektronikai eszközök alkalmazzák: kijelzők, kamerák 16 millió szín kódolható Szürke árnyalat: R=G=B OPENCV: BGR Mátrix
GRAFIKA. elméleti tudnivalók
GRAFIKA elméleti tudnivalók 1. A digitális képalkotás - bevezető A "digitális" szó egyik jelentése: számjegyet használó. A digitális adatrögzítés mindent számmal próbál meg leírni. Mivel a természet végtelen,
A színkezelés alapjai a GIMP programban
A színkezelés alapjai a GIMP programban Alapok.Előtér és háttér színek.klikk, hogy alapbeállítás legyen ( d és x használata).hozzunk létre egy 640x400 pixeles képet! 4.Ecset eszköz választása 5.Ecset kiválasztása
OPTIKA. Szín. Dr. Seres István
OPTIKA Szín Dr. Seres István Additív színrendszer Seres István 2 http://fft.szie.hu RGB (vagy 24 Bit Color): Egy képpont a piros, a kék és a zöld 256-256-256 féle árnyalatából áll össze, összesen 16 millió
Elemi alkalmazások fejlesztése III.
Elemi alkalmazások fejlesztése III. Grafikus felületű alkamazások készítése Bevezetés I. Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2009 1 www.trolltech.com
Programozás I. 5. Előadás: Függvények
Programozás I 5. Előadás: Függvények Függvény Egy alprogram Egy C program általában több kisméretű, könnyen értelmezhető függvényből áll Egy függvény megtalálható minden C programban: ez a main függvény
Elemi alkalmazások fejlesztése III. A Qt assistant elindítása. Ajánlott ir odalom. A Qt assistant nyitó ablaka
Elemi alkalmazások fejlesztése III Ajánlott ir odalom Egy ablakos alkalmazás készítése I. C++ / Qt felhasználásával Qt dokumentáció online: www.trolltech.com lokális változat: Kdevelop help vagy /usr/share/doc...
C programozási nyelv Pointerek, tömbök, pointer aritmetika
C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek
INFORMATIKA Felvételi teszt 1.
INFORMATIKA Felvételi teszt 1. 1) Mi a szoftver? a) Szoftvernek nevezzük a számítógépet és minden kézzel megfogható tartozékát. b) Szoftvernek nevezzük a számítógépre írt programokat és az ezekhez mellékelt
Képszerkesztés elméleti kérdések
Képszerkesztés elméleti kérdések 1. A... egyedi alkotó elemek, amelyek együttesen formálnak egy képet.(pixelek) a. Pixelek b. Paletták c. Grafikák d. Gammák 2. Az alábbiak közül melyik nem színmodell?
Képek kódolása. Vektorgrafika. Bittérképes grafika (raszter/pixelgrafika)
Képek kódolása A számítógépes grafika körébe soroljuk a grafikus objektumok (képek, rajzok, diagramok) előállítását, tárolását, a számítógép számára feldolgozható formává alakítását (képdigitalizálás),
Tömörítés, kép ábrázolás A tömörítés célja: hogy információt kisebb helyen lehessen tárolni (ill. gyorsabban lehessen kommunikációs csatornán átvinni
Tömörítés, kép ábrázolás A tömörítés célja: hogy információt kisebb helyen lehessen tárolni (ill. gyorsabban lehessen kommunikációs csatornán átvinni A tömörítés lehet: veszteségmentes nincs információ
Az importálás folyamata Felhasználói dokumentáció verzió 2.1.
Az importálás folyamata Felhasználói dokumentáció verzió 2.1. Budapest, 2008. Változáskezelés Verzió Dátum Változás Pont Cím Oldal 2.1. 2008.01.17. A teljes dokumentáció megváltozott Kiadás: 2008.01.17.
Színek Additív és szubtraktív színkezelés RGB - színtér
96 4 SZÍNEK 97 98 Színek 99 Additív és szubtraktív színkezelés 99 RGB - színtér 99 Az additív színtartomány 100 Színmeghatározás lehetõségei 101 HSB 101 A HEX (hexadecimális rendszer) 102 Alapszínek elõállítása
Egységes és objektumközpontú adatbázis-kezelés (2. rész)
Egységes és objektumközpontú adatbázis-kezelés (2. rész) A folytatásában a bemutatjuk, hogyan kezelhetünk Qt rendszer alatt SQL sormutatót, és készíthetünk grafikus felületet programoknak a Qt Designer
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények. Dr. Bécsi Tamás 6. Előadás
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények Dr. Bécsi Tamás 6. Előadás Bevezetés Egy idő után az egyetlen main(){ függvénnyel megírt programunk túl nagy méretű lesz. Vannak
Felhasználói leírás a DimNAV Server segédprogramhoz ( )
Felhasználói leírás a DimNAV Server segédprogramhoz (1.1.0.3) Tartalomjegyzék Bevezetés...3 1. Telepítés...3 2. Eltávolítás...4 Program használata...5 1. Kezdeti beállítások...5 2. Licenc megadása...6
Képfájlok beolvasása és megjelenítése
Programozás 3 1 2016 Képfájlok beolvasása és megjelenítése Előzmények Eddig a Rajzolás, Grafika és az Interaktivitás lap programját készítettük el. Ennek a programnak néhány új funkcionalítással ellátott
3. Osztályok II. Programozás II
3. Osztályok II. Programozás II Bevezető feladat Írj egy Nevsor osztályt, amely legfeljebb adott mennyiségű nevet képes eltárolni. A maximálisan tárolható nevek számát a konstruktorban adjuk meg. Az osztályt
SZÍNES KÉPEK FELDOLGOZÁSA
SZÍNES KÉPEK FELDOLGOZÁSA Színes képek feldolgozása Az emberi szem többezer színt képes megkülönböztetni, de csupán 20-30 különböző szürkeárnyalatot A színes kép feldolgozása két csoportba sorolható -
Szabványok és számítási beállítások használata
1. Számú mérnöki kézikönyv Frissítve: 2016. Február Szabványok és számítási beállítások használata Program: Súlytámfal Fájl: Demo_manual_01.gtz Ez a fejezet a Beállítás kezelő helyes használatát mutatja
1.1.1 Dátum és idő függvények
1.1.1 Dátum és idő függvények Azt már tudjuk, hogy két dátum különbsége az eltelt napok számát adja meg, köszönhetően a dátum tárolási módjának az Excel-ben. Azt is tudjuk a korábbiakból, hogy a MA() függvény
QT Grafika Az alap alkalmazás felhasználói felülete
QT Grafika Az alap alkalmazás felhasználói felülete Az alábbiakban létrehozzuk azt a GUI-t, amit a továbbiakban használni fogunk. Ennek során áttekintünk néhány hasznos GUI elemet és azok használatát.
3. modul - Szövegszerkesztés
3. modul - Szövegszerkesztés Érvényes: 2009. február 1-jétől Az alábbiakban ismertetjük a 3. modul (Szövegszerkesztés) syllabusát, amely a gyakorlati vizsga alapját képezi. A modul célja Ezen a vizsgán
Felhasználói leírás: STAHL Ex-Tool v1.0 rev101-2 -
Felhasználói leírás: STAHL Ex-Tool v1.0 rev101-1 - Kezelési útmutató Tartalomjegyzék: Kezelési útmutató... 1 Tartalomjegyzék:... 1 Szoftver feladata:... 2 Szoftver telepítése:... 2 Els használat:... 3
Megadja, hogy a képek színesben vagy fekete-fehérben legyenek-e kinyomtatva Megjegyzések:
Oldal: 1 / 5 Színminőség-útmutató Az útmutató segítségével a felhasználók áttekintést kapnak arról, hogyan használhatók fel a nyomtatón rendelkezésre álló műveletek a színes kimenet beállításához és testreszabásához.
Elemi alkalmazások fejlesztése III.
Elemi alkalmazások fejlesztése III. Bevezetés Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 1 A Qt assistant nyitó ablaka www.trolltech.com 2 Alkalmazás
Tömörítés, csomagolás, kicsomagolás. Letöltve: lenartpeter.uw.hu
Tömörítés, csomagolás, kicsomagolás Letöltve: lenartpeter.uw.hu Tömörítők Tömörítők kialakulásának főbb okai: - kis tárkapacitás - hálózaton továbbítandó adatok mérete nagy Tömörítés: olyan folyamat, mely
A Java nyelv. Dialógus ablakok. Elek Tibor
A Java nyelv Dialógus ablakok Elek Tibor Dialógus ablakok Szerepe: felbukkanó ablak (üzenet, input) Felépítése, használata majdnem ua., mint JFrame Tulajdonos: lehet tulajdonosa, amellyel együtt ikonizálódik,
C programozás. 6 óra Függvények, függvényszerű makrók, globális és
C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,
Matlab Fuzzy Logic Toolbox
Matlab Fuzzy Logic Toolbox The Future looks Fuzzy Newsweek, May, 28, 1990. A fuzzy irányítási rendszerek vizsgálatára Windows alatt futó Matlab programcsomag szimulációs eszközeit és a Matlab-ra ráépülő
HVK Adminisztrátori használati útmutató
HVK Adminisztrátori használati útmutató Tartalom felöltés, Hírek karbantartása A www.mvfportal.hu oldalon a bejelentkezést követően a rendszer a felhasználó jogosultsági besorolásának megfelelő nyitó oldalra
Thermo1 Graph. Felhasználói segédlet
Thermo1 Graph Felhasználói segédlet A Thermo Graph program a GIPEN Thermo eszközök Windows operációs rendszeren működő grafikus monitorozó programja. A program a telepítést követően azonnal használható.
Számítógépes megjelenítő és képalkotó eszközök kalibrációja
Számítógépes megjelenítő és képalkotó eszközök kalibrációja Veszprém, 2013. április 24. Csuti Péter - Dr. Samu Krisztián Tartalom 1. Színinger megfeleltetés vs. Szín management 2. Számítógépes megjelenítő
Első lépések. File/New. A mentés helyét érdemes módosítani! Pl. Dokumentumok. Fájlnév: pl. Proba
Első lépések File/New A mentés helyét érdemes módosítani! Pl. Dokumentumok Fájlnév: pl. Proba (megj. ékezetes karaktereket nem használhatunk a fájlnévben) 1 Konvejor pálya elkészítése System/New Rendszer
Számítógépes megjelenítő és képalkotó eszközök kalibrációja
Számítógépes megjelenítő és képalkotó eszközök kalibrációja Veszprém, 2014. május 7. Csuti Péter - Dr. Samu Krisztián Tartalom 1. Színinger megfeleltetés vs. Szín management 2. Számítógépes megjelenítő
Aromo Szöveges értékelés normál tantárggyal
Aromo Szöveges értékelés normál tantárggyal Aromo Iskolaadminisztrációs Szoftver Felhasználói kézikönyv -- Szöveges értékelés 1 Tartalomjegyzék Aromo Szöveges értékelés normál tantárggyal 1 Bevezetés 3
Programozás II. 2. Dr. Iványi Péter
Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c
OPTIKA. Hullámoptika Diszperzió, interferencia. Dr. Seres István
OPTIKA Diszperzió, interferencia Dr. Seres István : A fény elektromágneses hullám A fehér fény összetevői: Seres István 2 http://fft.szie.hu : A fény elektromágneses hullám: Diszperzió: Különböző hullámhosszúságú
HASZNÁLATI ÚTMUTATÓ DOLGOZÓK IMPORTÁLÁSA KULCS BÉR PROGRAMBA AZ ONLINE MUNKAIDŐ NYILVÁNTARTÓ RENDSZERBŐL. Budapest, 2013. november 08.
HASZNÁLATI ÚTMUTATÓ DOLGOZÓK IMPORTÁLÁSA KULCS BÉR PROGRAMBA AZ ONLINE MUNKAIDŐ NYILVÁNTARTÓ RENDSZERBŐL Budapest, 2013. november 08. 1. CÉLKITŰZÉS A fő cél, hogy az OL Munkaidő Rendszerből kinyert jelenlét
Képszerkesztés. Letölthető mintafeladatok gyakorláshoz: Minta teszt 1 Minta teszt 2. A modul célja
Képszerkesztés Letölthető mintafeladatok gyakorláshoz: Minta teszt 1 Minta teszt 2 A modul célja Az ECDL Képszerkesztés alapfokú követelményrendszerben (Syllabus 1.0) a vizsgázónak értenie kell a digitális
Programozási technológia
Programozási technológia Swing GUI készítése NetBeans IDE segítségével Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Bevezető Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi
Új Nemzedék Központ. EFOP pályázatok online beszámoló felülete. Felhasználói útmutató
Új Nemzedék Központ EFOP pályázatok online beszámoló felülete Felhasználói útmutató Tartalom 1. Bejelentkezés... 2 1.1. Első bejelentkezés... 2 1.2. Elfelejtett jelszó... 3 2. Saját adatok... 4 3. Dokumentumok...
Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe
Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével
Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:
Excel objektumok Az excelben az osztályokat úgynevezett class modulokként hozzuk létre. Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: View-ba
Segédanyag az iktatáshoz. Tartalomjegyzék
Segédanyag az email iktatáshoz Tartalomjegyzék I. Digitális, bejövő email iktatás... 2 II. Digitális, belső irányú email iktatása... 14 III. Kimenő email iktatása... 23 I. Digitális, bejövő email iktatás
Osztályok. 4. gyakorlat
Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum
A webáruház kezdőlapján háromféle diavetítés beállítására van lehetőség:
KRYPTON sablon Részletes leírás a sablonhoz kapcsoló új beállításokról Diavetítés a kezdőlapon A webáruház kezdőlapján háromféle diavetítés beállítására van lehetőség: Képes diavetítés Termékes diavetítés
Elemi alkalmazások fejlesztése III.
Elemi alkalmazások fejlesztése III. MDI alkalmazás II. (Számla) Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 1 Számla felépítése fejléc tábla 2 Az alkalmazás
Nagy HF u tmutato 2011/2012 II. fe le v
A programozás alapjai 1. BMEVIHIA106 Nagy HF u tmutato 2011/2012 II. fe le v Analízis (Nyelv független) 1. A Házi feladat téma szöveges leírása. 2. A feladat résztvevőinek azonosítása 3. A résztvevők tulajdonságai
A függvények névvel rendelkező utasításcsoportok, melyeknek információkat adhatunk át, és van egy visszatérési értékük.
Függvények A függvények névvel rendelkező utasításcsoportok, melyeknek információkat adhatunk át, és van egy visszatérési értékük. Mint egy dzsinn: Hogyan is "használunk" egy dzsinnt? megszólítjuk megmondjuk,
Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán
Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán A QGIS program GPS eszközök modulja segítségével kétirányú kommunikációt folytathatunk a navigációs GPS vevőnkkel.
Weblap készítése. Fapados módszer
Weblap készítése Fapados módszer A számítógép beállítása Ha a kiterjesztések nem látszanak, akkor a következőt kell tennünk: A számítógép beállítása Ha a kiterjesztések nem látszanak, akkor a következőt
3D-s számítógépes geometria és alakzatrekonstrukció
3D-s számítógépes geometria és alakzatrekonstrukció 3a. Tesztkörnyezet I http://cg.iit.bme.hu/portal/node/312 https://portal.vik.bme.hu/kepzes/targyak/viiima01 Dr. Várady Tamás, Salvi Péter BME, Villamosmérnöki
B8. A CIE 1931 SZÍNINGER-MÉRŐ RENDSZER ISMERTETÉSE;
B8. A CIE 1931 SZÍNINGER-MÉRŐ RENDSZER ISMERTETÉSE; A CIE DIAGRAM, A SZÍNEK ÁBRÁZOLÁSA A DIAGRAMBAN;A NYOMTATÁSBAN REPRODUKÁLHATÓ SZÍNTARTOMÁNY SZÍNRENDSZEREK A színrendszerek kialakításának célja: a színek
Bevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum
Bevezetés a programozásba 2 1. Előadás: Tagfüggvények, osztály, objektum Ismétlés int main() { string s; s; s= bla ; cout
A RÓMAI SZERZÕDÉSEK 50. ÉVFORDULÓJA ALKALMÁBÓL
A RÓMAI SZERZÕDÉSEK 50. ÉVFORDULÓJA ALKALMÁBÓL GRAFIKAI ÚTMUTATÓ Logó A logó A logó mérete A logó háttere (üresen maradó keret) A logó színei A logó különbözõ nyelvi változatai Kerülendõ Tipográfia Színek
Térképek jelentése és elemzése
Térképek jelentése és elemzése Ontológiák Az ontológiák termekre, csomópontokra (koncepciókra) és összeköttetésekre (kapcsolatokra) vonatkozó listák, amik importálhatóak és hozzáadhatóak a VUE térképekhez,
EDInet Connector telepítési segédlet
EDInet Connector telepítési segédlet A cégünk által küldött e-mail-ben található linkre kattintva, a következő weboldal jelenik meg a böngészőben: Az EdinetConnectorInstall szövegre klikkelve(a képen pirossal
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 feladat megoldásához a Sharepoint Designer 2007 programot használjuk, mely ingyenesen letölthető a Microsoft weboldaláról. Az érettségi aktuális szoftverlistája alapján az Expression Web 2, az Expression
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
A Portál rendszer felületének általános bemutatása Felhasználói útmutató Támogatott böngészők Internet Explorer 9+ Firefox (legújabb verzió) Chrome (legújabb verzió) Felületek felépítése Információs kártyák
A programozás alapjai 1 Rekurzió
A programozás alapjai Rekurzió. előadás Híradástechnikai Tanszék - preorder (gyökér bal gyerek jobb gyerek) mentés - visszaállítás - inorder (bal gyerek gyökér jobb gyerek) rendezés 4 5 6 4 6 7 5 7 - posztorder
Útmutató szivárgásvizsgálat-köteles berendezéseket érintő csoportos műveletekhez
Útmutató szivárgásvizsgálat-köteles berendezéseket érintő csoportos műveletekhez A szivárgásvizsgálat-köteles berendezéseket érintő csoportos műveletek lehetővé teszik a berendezéstulajdonosok, üzemeltetők
Swing GUI készítése NetBeans IDE segítségével
Programozási Swing e NetBeans IDE segítségével Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 2 Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi feladatunk volt az
Programozási nyelvek II. JAVA
Programozási nyelvek II. JAVA 8. gyakorlat 2017. november 6-10. Általános tudnivalók A feladatmegoldás során fontos betartani az elnevezésekre és típusokra vonatkozó megszorításokat, illetve a szövegek
Elemi alkalmazások fejlesztése III
Elemi alkalmazások fejlesztése III Egy ablakos alkalmazás készítése I. C++ / Qt felhasználásával készítette: Szabóné Nacsa Rozália 1 Ajánlott irodalom Qt dokumentáció online: www.trolltech.com lokális
A beszámoló készítés lépéseinek bemutatása egy mintacég Egyszerű Kft. segítségével
A beszámoló készítés lépéseinek bemutatása egy mintacég Egyszerű Kft. segítségével 1. A vizsgált cég állományának létrehozása (II.1.2) Egyszerű Kft. 2010. évi állományának létrehozása: DigitAudit főmenü
Tájékoztató. Használható segédeszköz: -
A 35/2016. (VIII. 31.) NFM rendelet szakmai és vizsgakövetelménye alapján. Szakképesítés, azonosító száma és megnevezése 54 481 06 Informatikai rendszerüzemeltető Tájékoztató A vizsgázó az első lapra írja
HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport
10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)
3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla
1. Az adatbázistábla létrehozása a, Ha még nem hoztunk létre egy adatbázistáblát sem, akkor a jobb egérrel a DDIC-objekt. könyvtárra kattintva, majd a Létrehozás és az Adatbázistábla menüpontokat választva
SafeQ nyomtatató telepítése
SafeQ nyomtatató telepítése 1. Rendszerkövetelmények Ha a számítógép az EIK tartományba van léptetve és a bejelentkezett felhasználó szintén tartományi felhasználó, nincs szükség a SafeQ kliens telepítésére.
Alkalmazások fejlesztése III. Qt 4 /C++ alapú grafikus alkalmazás Bevezetés I.
Tartalomjegyzék Alkalmazás készítés Qt osztályokkal...2 A qmake eszköz...2 Hello Qt (hello)...2 Objektumok közötti kommunikáció (quit)...3 Fordítás/futtatás...4 Grafikus felület létrehozása, vezérlők szinkronizálása
VARIO Face 2.0 Felhasználói kézikönyv
VARIO Face 2.0 Felhasználói kézikönyv A kézikönyv használata Mielőtt elindítaná és használná a szoftvert kérjük olvassa el figyelmesen a felhasználói kézikönyvet! A dokumentum nem sokszorosítható illetve
Az ErdaGIS térinformatikai keretrendszer
Az ErdaGIS térinformatikai keretrendszer Két évtized tapasztalatát sűrítettük ErdaGIS térinformatikai keretrendszerünkbe, mely moduláris felépítésével széleskörű felhasználói réteget céloz, és felépítését
Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 4. Előadás Dr. Bécsi Tamás A RadioButton komponens Tulajdonságok: bool Checked Állapotjelző két állapot esetén: (true: bejelölve,false: nem bejelölve) Események: Esemény
Táblázatok kezelése. 1. ábra Táblázat kezelése menüből
Táblázat beszúrása, létrehozása A táblázatok készítésének igénye már a korai szövegszerkesztőkben felmerült, de ezekben nem sok lehetőség állt rendelkezésre. A mai szövegszerkesztőket már kiegészítették
Cikktípusok készítése a Xarayában
Cikktípusok készítése a Xarayában A Xaraya legfontosabb tulajdonsága az egyedi cikktípusok egyszerű készítésének lehetősége. Ezzel kiküszöbölhető egyedi modulok készítése, hiszen néhány kattintással tetszőleges
é rtésí té sék szű ré sé
E-mail é rtésí té sék szű ré sé Szűrési beállítások 2019. 01. 03. Tartalom E-mail értesítések szűrése...2 Gyakorlati példák szűrési feltételek megadására...2 Szűrés beállítása a levelezőrendszerben...2
PÉNZTÁR FELHASZNÁLÓI KÉZIKÖNYV
PÉNZTÁR FELHASZNÁLÓI KÉZIKÖNYV 4S SOFTWARE KFT 3523 MISKOLC PF.: 71 4ssoftware@4ssoftware.hu Preisler Ferenc Robonyi Teréz TEL.: 46/324-643 20/360-8478 20/980-8864 1. A PROGRAM TELEPÍTÉSE ÉS INDÍTÁSA Lehetőség
1.4 fejezet. RGB színrendszerek
1 1.4 fejezet. RGB színrendszerek 1. sz. ábra. Számítógépes monitorról készült nagyítás Az RGB színrendszer a katódsugárcso képernyo összeadó színképzéséhez igazodik, amely a vörös, zöld és kék színeket
POSZEIDON dokumentáció (1.2)
POSZEIDON dokumentáció (1.2) Bevezetés a Poszeidon rendszer használatába I. TELEPÍTÉS Poszeidon alkalmazás letölthető: www.sze.hu/poszeidon/poszeidon.exe Lépések: FUTTATÁS / (FUTTATÁS) / TOVÁBB / TOVÁBB
TÍPUSDOKUMENTUMOK KÉSZÍTÉSE
TÍPUSDOKUMENTUMOK KÉSZÍTÉSE A Word sok előre elkészített típus dokumentummal rendelkezik. Ezek használatához válasszuk a Fájl menü Új dokumentum menüpontját. Itt több különböző kategóriába rendezve találhatjuk
CSS3 alapismeretek. Bevezetés a CSS-be. Mi is az a CSS? Alkalmazási formái, szintaxisa
CSS3 alapismeretek Bevezetés a CSS-be Mi is az a CSS? A CSS az angol Cascading Style Sheets kifejezés rövidítése, ami magyarul talán egymásba ágyazott stíluslapoknak lehetne fordítani. Hasonlóan a HTML-hez,
91. MP költséghelyek felvitele, 94. MP mozgástípus konfigurálása
91. MP költséghelyek felvitele, 94. MP mozgástípus konfigurálása 91. MP - költséghelyek felvitele Ez a menüpont arra alkalmas, hogy új költséghelyeket egyesével vigyünk fel. A menüpontba belépve az alábbi
6. Alkalom. Kép ClipArt WordArt Szimbólum Körlevél. K é p
6. Alkalom Kép ClipArt WordArt Szimbólum Körlevél K é p Képet már létezı képállományból vagy a Word beépített CLIPART képtárgyőjteményébıl illeszthetünk be. Képállományból kép beillesztése A szövegkurzort
Szöveges fájlok szerkesztése Jegyzettömb használata
Szöveges fájlok szerkesztése A Jegyzettömb csak szöveges dokumentum (TXT fájl) szerkesztésére alkalmas (Editor). Ez azt jelenti, hogy a begépelt szöveget nem tudjuk kedvünk szerint megformázni, vagyis