A jobboldalon a pnlright egy Stacked Widget Állítsuk be az első lapot és nevezzük el pnldraw-ra:
|
|
- Gergely Gál
- 5 évvel ezelőtt
- Látták:
Átírás
1 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 a Stacked Widget, ami hasonlóan a QToolBox-hoz több lap megjelenítésére képes, de a lapjainak nincs fejléce. A Rajzolás lap az első (0 indexű) oldalra fog dolgozni. A jobboldalon a pnlright egy Stacked Widget Állítsuk be az első lapot és nevezzük el pnldraw-ra: Amikor a Tool Box-on egy fejlécet kiválasztunk az a currentchanged(int index) SIGNAL-t küldi el. Ennek lekezeléséhez adjuk hozzá a megfelelő függvény deklarációt a header fájlhoz: void on_pnxmenu_currentchanged(int index); A cpp fájlhoz pedig a definícióját: void GrafikaQTvel::on_tbxMenu_currentChanged(int index) if (index >= 0) if (index == 1) ui.pnlright->setcurrentindex(0); Azért ilyen bonyolult, mert ugyanazt a lapot szeretnénk több menüben is felhasználni, így nem lehet egyszerűen. ui.pnlright->setcurrentindex(index);-et használni. Ezután térhetünk rá a működtetésre. Még a tényleges rajzolás előtt intézzük el a beviteli mezőket! Egy jó programban az egyes mezők ezen a lapon csak akkor aktívak sőt esetleg csak akkor láthatóak, ha a megfelelő rajzolási lehetőség van kiválasztva. Arról is gondoskodni kell, hogy az egyes mezőkbe csak érvényes adatokat írhassunk be. Ehhez a megfelelő SLOT-ok függvényeit kell elkészíteni. A rádiógombokhoz a toggled(bool), a jelölőnégyzethez statechanged(int) a gombokhoz a
2 clicked(), a beviteli mezőkhöz a textchanged(qstring) SIGNAL-okat kell lekezelni. Ezek deklarációi a grafikaqtvel.h fájlban: void on_rbfreedraw_toggled(bool); void on_rbline_toggled(bool); void on_rbrectangle_toggled(bool); void on_rbtriangle_toggled(bool); void on_rbellipse_toggled(bool); void on_rbpolygon_toggled(bool); void on_rbcircle_toggled(bool); void on_chkfill_statechanged(int state); void on_btncleardatar_clicked(); void on_edtx1_textchanged (QString); void on_edty1_textchanged (QString); void on_edtw1_textchanged (QString); void on_edth1_textchanged (QString); Az egyes beviteli mezők lekezelésénél ügyelni kell arra, hogy éppen melyik rádiógomb van kijelölve. Az rbfreedraw állapota megváltozásának lekezelése: void GrafikaQTvel::on_rbFreeDraw_toggled(bool b) if (b) // cask ha ez van bejelölve ui.btndraw->setenabled(false); // nem kell a gombot benyomni a használathoz ui.canvas->startfreehanddrawing(); Nem keel egyik beviteli menu sem, elrejtjük őket else ui.edtx1->setvisible(false); ui.edty1->setvisible(false); ui.edtw1->setvisible(false); ui.edth1->setvisible(false); ui.canvas->stopfreehanddrawing(); A többi rádiógombnál a beviteli mezők közül mindazokat láthatóvá tesszük amelyekre szükség van. Ezek szövegeit is át kell írjuk. Sajnos a Qt-ben van egy kis hiba, ami miatt a Windows alatt Visual Studio-ban írt programoknál az ékezetes betűk néha hibásan jelennek meg. Ez egy példája annak, hogy még ma is gond van az egyes országok speciális betűjeivel.
3 Ez a hiba akkor fordul elő, amikor olyan betűket talál a szerkesztő, amiket a Windows-os kódlapon nem tud elmenteni. Ilyenkor a Windows felajánlja az oldalt elmenthetjük UTF-8 kódolással. Az UTF-8 fájlok elejéhez a szerkesztő hozzáragaszt egy Byte Order Mark (BOM) karakter sorozatot. Semmilyen UTF-8-at ismerő programnak nem szabad ezt megjelenítenie, át kell ezt ugrania. Valamiért a Qt Windows alatti fordításánál ez bezavar és a kiírt szövegben az UTF-8 kódok rosszul jelennek meg. A BOM-ra azonban nincs valójában szükség, ezért ha levágjuk a fájl elejéről a BOM byte-jait 1 akkor a lefordított programban a szöveg már hibátlan lesz. Ezután, amennyiben a fájl éppen meg volt nyitva a szerkesztőben, a VS felajánlja, hogy betölti a módosított fájlt. Fogadjuk ezt el! De ha módosítjuk, majd újra elmentjük a fájlt a VS-ből, akkor a BOM újra vissza kerül és ezt az eljárást újra el kell végezzük. Azt, hogy egy beviteli mezőben van-e valami beírva az isempty() függvénnyel nézhetjük meg. Rajzolni csak akkor szabad majd, ha minden szükséges beviteli mezőben van szám A többi beviteli mező függvényei ennek a fájlnak a végén megtalálhatóak. A rajzolás A rajzolást magát egy általunk készített widget kezeli, amit a festők vásznáról Canvas-nak neveztük el. Részletes leírása egy másik fájlban található, itt csak a használatáról beszélünk. A Canvas widget-re rajzolhatunk mindenféle vonalas ábrákat. Rajzolhatunk rá szabadkézzel, illetve megadott alakzatokat. A GrafikaQTvel program számára a Canvas program interfésze az érdekes csak. Ez a következő függvényeket jelenti: Canvas(QWidget *parent = 0); virtual ~Canvas() ; void StartFreeHandDrawing() _freehand = true; void StopFreehandDrawing() _freehand & false; // double buffer // lekérdezés bool IsModified() const return _modified; bool IsDrawing() const return _drawing; const QPoint &LastPos() const return _lastpoint; QColor GetPixel(const QPoint &pt); QColor PenColor() const return _pencolor; 1 Legegyszerűbb beolvasni a fájlt a Notepad++ szerkesztőbe és átírni a kódolását UTF-8 BOM-al ról UTF-8 ra, majd elmenteni.
4 int PenWidth() const return _penwidth; Qt::PenStyle PenStyle() const return _penstyle; Qt::PenCapStyle PenCapStyle() const return _pencap; Qt::PenJoinStyle PenJoinStyle()const return _penjoin; Qt::BrushStyle BrushStyle() const return _brushstyle; // Beállítás void SetPenWidth(int width) _penwidth = width; void SetPenColor(QColor color) _pencolor = color; void SetPenStyle (Qt::PenStyle &v) _penstyle= v; void SetPenCapStyle(Qt::PenCapStyle &v) _pencap= v; void SetPenJoinStyle(Qt::PenJoinStyle &v) _penjoin= v; void SetBrushStyle(Qt::BrushStyle &v) _brushstyle= v; // rajzolás void SetPixel(const QPoint &pt, QColor color); void FreeHand(); void LineTo(const QPoint &endpoint); void DrawEllipse(const QRect &rect); void DrawRect(const QRect & rect); void DrawFillRect(const QRect & rect); void DrawArc(double start, double end); void Clear(); // egy pont kirajzolása
5 Függelék grafikaqtve.h #ifndef GRAFIKAQTVEL_H #define GRAFIKAQTVEL_H #include <QtWidgets/QMainWindow> #include <QColor> #include "ui_grafikaqtvel.h" #include "canvas.h" class GrafikaQTvel : public QMainWindow Q_OBJECT public: GrafikaQTvel(QWidget *parent = 0); ~GrafikaQTvel(); void Parameters(); private: Ui::GrafikaQTvelClass ui; bool _busy = false; // gombokhoz használjuk // közös paraméterek Toll és Ecset lap RajzParameterek _params; // állapotok beolvasása után az egyes widgetek // adatait beállító függvények void _SaveState(); void _ReadState(); void _SetupControls(); // közös paraméterek Toll és Ecset lap void _SetupCommon(); // többi lap // Rajzolás int _usededitcnt = 0; void _SetupDrawing(); // ennyi edtx1, stb kell a Rajz gombokhoz // az egyes rádiógombok állítják be void _EnableDrawing(int edtcnt); // edtcnt = 1 - edtx1,,2 - edtx1 & edtx2,3 - edtx1 & edtx2 & edtw1,4 - edtx1 & edtx2 & edtw1 & edth1 void _AnyEditChanged(); // enable/disable rajz gomb // Grafika void _SetupGraph(); // Grafika void _SetupInteract(); // Fraktál void _SetupFractal(); void _SetupTransform(); void _SetupShapes(); void _SetupPictures();
6 void _SetupFilters(); private slots: void on_tbxmenu_currentchanged(int index); // közös paraméterek 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(); // rajzolás lap void on_btnclearcanvas_clicked(); void on_rbfreedraw_toggled(bool); void on_rbline_toggled(bool); void on_rbrectangle_toggled(bool); void on_rbtriangle_toggled(bool); void on_rbellipse_toggled(bool); void on_rbpolygon_toggled(bool); void on_rbcircle_toggled(bool); void on_chkfill_statechanged(int state); void on_btncleardatar_clicked(); void on_btndraw_clicked(); void on_edtx1_textchanged(qstring); void on_edty1_textchanged(qstring); void on_edtw1_textchanged(qstring); void on_edth1_textchanged(qstring); ; #endif // GRAFIKAQTVEL_H grafikaqtvel.cpp #include "grafikaqtvel.h" #include <QSettings> #include <QColorDialog> GrafikaQTvel::GrafikaQTvel(QWidget *parent) : QMainWindow(parent) ui.setupui(this); _ReadState(); // beállítja a canvas paramétereket is _SetupControls(); // beállítja a widgetek értékeit // Ha nem mentettük el az egyes lapok tartalmát, akkor // mindig szabadkézi rajzolással tudjuk kezdeni ui.rbfreedraw->toggled(true); ui.canvas->startfreehanddrawing(); GrafikaQTvel::~GrafikaQTvel()
7 _SaveState(); void GrafikaQTvel::_SaveState() QSettings settings("programozás 3", "GrafikaQtvel"); // A geometria settings.begingroup("ablak"); settings.setvalue("geometry", savegeometry()); settings.setvalue("state", savestate()); settings.endgroup(); // Közös rajzolási beállítások: settings.begingroup("toll"); settings.setvalue("vastagság", _params.penwidth); settings.setvalue("szín", _params.pencolor); settings.setvalue("stílus", (int)_params.penstyle); settings.setvalue("vonalvég", _params.pencap); settings.setvalue("kapcsolódás", _params.penjoin); settings.endgroup(); settings.begingroup("ecset"); settings.setvalue("szín", _params.brushcolor); settings.setvalue("stílus", (int)_params.brushstyle); settings.endgroup(); // 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.endgroup(); int iv; settings.begingroup("toll"); _params.penwidth=settings.value("vastagság", 1).toInt(); //1: default // Mival a QColor nem QVariant _params.pencolor = settings.value("szín", 0).value<QColor>(); _params.penstyle = (Qt::PenStyle)settings.value("Stílus", (int)qt::solidline).toint(); _params.pencap = (Qt::PenCapStyle)settings.value("Vonalvég", Qt::FlatCap).toInt(); _params.penjoin = (Qt::PenJoinStyle)settings.value("Kapcsolódás", Qt::MiterJoin).toInt();
8 settings.endgroup(); settings.begingroup("ecset"); _params.brushcolor = settings.value("szín", 0xFFFFFF).value<QColor>(); _params.brushstyle = (Qt::BrushStyle)settings.value("Stílus", (int)qt::nobrush).toint(); settings.endgroup(); // Egyéb paraméterek beolvasása ui.canvas->setparameters(_params); // A beolvasott adatok alapján beállítjuk az egyes // gombokat, Combo BOx-okat és a mezők tartalmát void GrafikaQTvel::_SetupControls() _SetupCommon(); // toll és ecset lap _SetupDrawing(); // rajzolás lap _SetupGraph(); _SetupInteract(); _SetupFractal(); _SetupTransform(); _SetupShapes(); _SetupPictures(); _SetupFilters(); // közös paraméterek Toll és Ecset lap void GrafikaQTvel::_SetupCommon() ui.sbpenwidth->setvalue(_params.penwidth); ui.cbpenstyle->setcurrentindex(_params.penstyle); ui.cbpencap->setcurrentindex(_params.pencap); ui.cbpenjoin->setcurrentindex(_params.penjoin); ui.cbbrushstyle->setcurrentindex(_params.brushstyle); ui.btnpencolor->setstylesheet("background:" + _params.pencolor.name()); ui.btnbrushcolor->setstylesheet("background:" + _params.brushcolor.name()); // TODO: többi lap egyelőre nem írtuk meg void GrafikaQTvel::_SetupDrawing() void GrafikaQTvel::_SetupGraph() void GrafikaQTvel::_SetupInteract() void GrafikaQTvel::_SetupFractal() void GrafikaQTvel::_SetupTransform() void GrafikaQTvel::_SetupShapes() void GrafikaQTvel::_SetupPictures() void GrafikaQTvel::_SetupFilters() // SLOT-ok void GrafikaQTvel::on_tbxMenu_currentChanged(int index)
9 if (index >= 0) if (index == 1) ui.pnlright->setcurrentindex(0); // common void GrafikaQTvel::on_sbPenWidth_valueChanged(int val) _params.penwidth = val; ui.canvas->setparameters(_params); // frissítés void GrafikaQTvel::on_cbPenStyle_currentIndexChanged(int index) _params.penstyle = (Qt::PenStyle)index; ui.canvas->setparameters(_params); // frissítés void GrafikaQTvel::on_cbPenCap_currentIndexChanged(int index) _params.pencap = (Qt::PenCapStyle)index; ui.canvas->setparameters(_params); // frissítés void GrafikaQTvel::on_cbPenJoin_currentIndexChanged(int index) _params.penjoin = (Qt::PenJoinStyle)index; ui.canvas->setparameters(_params); // frissítés void GrafikaQTvel::on_cbBrushStyle_currentIndexChanged(int index) _params.brushstyle = (Qt::BrushStyle)index; ui.canvas->setparameters(_params); // frissítés 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 _params.pencolor = col; ui.btnpencolor->setstylesheet("background:" + col.name()); ui.canvas->setparameters(_params); // frissítés
10 void GrafikaQTvel::on_btnBrushColor_clicked() QString qs = ui.btnbrushcolor->stylesheet(); // a szöveg: background:#rrggbb alakú 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 _params.brushcolor = col; ui.btnbrushcolor->setstylesheet("background:" + col.name()); ui.canvas->setparameters(_params); // frissítés // rajzol void GrafikaQTvel::on_btnClearCanvas_clicked() ui.canvas->clear(); void GrafikaQTvel::on_btnDraw_clicked() int x1 = ui.edtx1->text().toint(), y1 = ui.edty1->text().toint(), x2 = ui.edtw1->text().toint(), y2 = ui.edth1->text().toint(); if (ui.rbline->ischecked()) x2 += x1; y2 += y1; ui.canvas->drawline(qpoint(x1, y1), QPoint(x2, y2)); else if (ui.rbrectangle->ischecked()) ui.canvas->drawrect(qrect(x1, y1, x2, y2), ui.chkfill ->ischecked()); else if (ui.rbellipse->ischecked()) ui.canvas->drawellipse(qrect(x1, y1, x2, y2), ui.chkfill ->ischecked()); else if(ui.rbcircle->ischecked()) ui.canvas->drawellipse(qrect(x1, y1, x2, x2), ui.chkfill ->ischecked()); else if (ui.rbtriangle->ischecked())
11 ui.canvas->drawtriangle(qpoint(x1,y1), x2, ui.chkfill ->ischecked()); else if (ui.rbpolygon->ischecked()) ui.canvas->drawpolygon(qpoint(x1, y1), x2, y2, ui.chkfill ->ischecked()); void GrafikaQTvel::on_rbFreeDraw_toggled(bool b) if (b) ui.btndraw->setenabled(false); ui.canvas->startfreehanddrawing(); ui.edtx1->setvisible(false); ui.edty1->setvisible(false); ui.edtw1->setvisible(false); ui.edth1->setvisible(false); else ui.canvas->stopfreehanddrawing(); // Enable/disable Rajz gomb void GrafikaQTvel::_EnableDrawing(int edtcnt) bool b = false; switch (edtcnt) // trükk: nincs break! case 4: b = ui.edth1->text().isempty(); case 3: b = ui.edtw1->text().isempty(); case 2: b = ui.edty1->text().isempty(); case 1: b = ui.edtx1->text().isempty(); break; default: break; ui.btndraw->setenabled(!b); void GrafikaQTvel::on_rbLine_toggled(bool b) if (b) _EnableDrawing(_usedEditCnt = 4); ui.lbldrawwidth->settext("x2"); ui.lbldrawheight->settext("y2");
12 ui.lbldrawwidth->setvisible(true); ui.lbldrawheight->setvisible(true); ui.edtx1->setvisible(true); ui.edty1->setvisible(true); ui.edtw1->setvisible(true); ui.edth1->setvisible(true); void GrafikaQTvel::on_rbRectangle_toggled(bool b) if (b) _EnableDrawing(_usedEditCnt = 4); ui.lbldrawwidth->settext("szélesség"); ui.lbldrawheight->settext("magasság"); ui.lbldrawwidth->setvisible(true); ui.lbldrawheight->setvisible(true); ui.edtx1->setvisible(true); ui.edty1->setvisible(true); ui.edtw1->setvisible(true); ui.edth1->setvisible(true); void GrafikaQTvel::on_rbTriangle_toggled(bool b) if (b) _EnableDrawing(_usedEditCnt = 3); ui.lbldrawwidth->settext("oldalhossz:"); ui.lbldrawwidth->setvisible(true); ui.lbldrawheight->setvisible(false); ui.edtx1->setvisible(true); ui.edty1->setvisible(true); ui.edtw1->setvisible(true); ui.edth1->setvisible(false); void GrafikaQTvel::on_rbEllipse_toggled(bool b) if (b) _EnableDrawing(_usedEditCnt = 4); ui.lbldrawwidth->settext("szélesség"); ui.lbldrawheight->settext("magasság"); ui.lbldrawwidth->setvisible(true); ui.lbldrawheight->setvisible(true); ui.edtx1->setvisible(true); ui.edty1->setvisible(true); ui.edtw1->setvisible(true);
13 ui.edth1->setvisible(true); void GrafikaQTvel::on_rbPolygon_toggled(bool b) if (b) _EnableDrawing(_usedEditCnt = 4); ui.lbldrawwidth->settext("oldalhossz"); ui.lbldrawheight->settext("oldalszám"); ui.lbldrawwidth->setvisible(true); ui.lbldrawheight->setvisible(true); ui.edtx1->setvisible(true); ui.edty1->setvisible(true); ui.edtw1->setvisible(true); ui.edth1->setvisible(true); void GrafikaQTvel::on_rbCircle_toggled(bool b) if (b) _EnableDrawing(_usedEditCnt = 3); ui.lbldrawwidth->settext("sugár"); ui.lbldrawwidth->setvisible(true); ui.lbldrawheight->setvisible(false); ui.edtx1->setvisible(true); ui.edty1->setvisible(true); ui.edtw1->setvisible(true); ui.edth1->setvisible(false); void GrafikaQTvel::on_ChkFill_stateChanged(int state) void GrafikaQTvel::on_btnClearDataR_clicked() ui.edtx1->clear(); ui.edty1->clear(); ui.edtw1->clear(); ui.edth1->clear(); ui.btndraw->setenabled(!ui.rbfreedraw->ischecked()); void GrafikaQTvel::_AnyEditChanged() if (ui.rbfreedraw->ischecked())
14 return; _EnableDrawing(_usedEditCnt); void GrafikaQTvel::on_edtX1_textChanged(QString s) _AnyEditChanged(); void GrafikaQTvel::on_edtY1_textChanged(QString s) _AnyEditChanged(); void GrafikaQTvel::on_edtW1_textChanged(QString s) _AnyEditChanged(); void GrafikaQTvel::on_edtH1_textChanged(QString s) _AnyEditChanged();
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
Részletesebbenif(_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
RészletesebbenQT Grafika az alap alkalmazás (GrafikaQtvel) működése
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
RészletesebbenWidget-ünket a festők vásznáról Canvas-nak nevezzük el. Mit kell a widgetnek tudnia?
A Canvas widget Widget-ünket a festők vásznáról Canvas-nak nevezzük el. Mit kell a widgetnek tudnia? 1. Más widgetekre rárakható legyen, 2. Ha a befoglaló (szülő) widget mérete változik az ő mérete is
RészletesebbenQT 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.
RészletesebbenKé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
Részletesebben3D-s számítógépes geometria és alakzatrekonstrukció
3D-s számítógépes geometria és alakzatrekonstrukció Tesztkörnyezet I http://cg.iit.bme.hu/portal/node/312 https://portal.vik.bme.hu/kepzes/targyak/viiima01 Dr. Várady Tamás, Dr. Salvi Péter BME, Villamosmérnöki
Részletesebben3. 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
RészletesebbenGrafikus 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
RészletesebbenElemi 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
Részletesebben3D-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
RészletesebbenElemi 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
RészletesebbenGrafikus Felhasználói Felületű (GUI) program készítése a QT Creatorral, illetve a Microsoft Visual Studio-val
Grafikus Felhasználói Felületű (GUI) program készítése a QT Creatorral, illetve a Microsoft Visual Studio-val A feladat A feladat egy kis számológép elkészítése. A számológép a következőképpen néz majd
RészletesebbenElemi 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...
RészletesebbenA C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
RészletesebbenMobil informatika gyakorlat. 2. óra: NFC a gyakorlatban
Mobil informatika gyakorlat 2. óra: NFC a gyakorlatban Mi az NFC? Near Field Communication Rövid hatótávolságú rádiófrekvenciás technológia (tipikusan 5-10 cm) 13,56 MHz frekvencia Az ISO/IEC 14443 szabvány
Részletesebben117. AA Megoldó Alfréd AA 117.
Programozás alapjai 2. (inf.) pót-pótzárthelyi 2011.05.26. gyak. hiányzás: kzhpont: MEG123 IB.028/117. NZH:0 PZH:n Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,
RészletesebbenSzá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
RészletesebbenProgramozás II gyakorlat. 4. Öröklődés
Programozás II gyakorlat 4. Öröklődés Feladat Egy játékfejlesztő cég olyan programot fejleszt, amely nyilvántartja az alkalmazottai adatait. Tároljuk minden személy: Nevét (legfeljebb 50 karakter) Születési
RészletesebbenC# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem
C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 1. Előadás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu Programozás
RészletesebbenOsztály és objektum fogalma
Osztály és objektum fogalma A C++ programozási nyelv I. CPP1/ 1 Az osztály (class) class: adatok és módszerek (method) (függvények) együttese, amely absztrakt adattípusként működik. objektum: egy osztály
RészletesebbenElemi 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
RészletesebbenTervminták a valósidejű gyakorlatban
Tervminták a valósidejű gyakorlatban Forrás Ezeknek a diáknak a forrása a Game Programming Patterns című könyv Online elérhető a szerző oldaláról: http://gameprogrammingpatterns.com/contents.htm Game Loop
RészletesebbenFelhasználó által definiált adattípus
Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési
RészletesebbenElemi alkalmazások fejlesztése IV.
Elemi alkalmazások fejlesztése IV. C++/Qt adatbáziskezelő alkalmazás készítése Kdevelop környezetben I. Készítette: Szabóné Nacsa Rozália 1 MySql elindítása [nacsa@localhost nacsa]$ su Password:jelszó
RészletesebbenMySql elindítása. Elemi alkalmazások fejlesztése IV. Feladat. Az alkalmazás adatbázisa
Elemi alkalmazások fejlesztése IV. C++/Qt adatbáziskezel ő alkalmazás készítése Kdevelop környezetben I. MySql elindítása [nacsa@localhost nacsa]$ su Password:jelszó [root@localhost nacsa]# /usr/bin/safe_mysqld
RészletesebbenStack Vezérlés szerkezet Adat 2.
Stack Vezérlés szerkezet Adat 2. Kód visszafejtés. Izsó Tamás 2013. november 14. Izsó Tamás Stack Vezérlés szerkezet Adat 2./ 1 Változó típusú paraméterekátadása 1. #include < s t d i o. h> int64 myfunc
RészletesebbenInformatika terméktervezőknek
Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások
RészletesebbenElemi alkalmazások fejlesztése IV. Adatbázis-kezelő GUI alkalmazás készítése 3. Összetett tábla karbantartása
Elemi alkalmazások fejlesztése IV. Adatbázis-kezelő GUI alkalmazás készítése 3. Összetett tábla karbantartása Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/eaf4/ Qt 4 2007
Részletesebbencomponents : IContainer dx : int dy : int tmidőzítő : Timer toolstripseparator1 : ToolStripSeparator tsmikilépés : ToolStripMenuItem
http:www.johanyak.hu Analóg óra Készítsünk egy analóg órát megjelenítő alkalmazást. A feladat egy lehetséges megoldása a következő: 1. Az alkalmazás vázának automatikus generálása Fájl menü, New, Project
RészletesebbenElemi alkalmazások fejlesztése III
Elemi alkalmazások fejlesztése III Qt SDI alkalmazás készítése I Kdevelop környezetben Készítette: Szabóné Nacsa Rozália Steingart Ferenc 1 Feladat Készítsünk egy számlakezel ő ablakos alkalmazást! Számlafejléc
RészletesebbenAlkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 3/3
Tartalomjegyzék Feladat...2 Az alkalmazás osztálydiagramja...2 Űrlap elkészítése...3 Grafikus felület kialakítása...3 A felületen elhelyezett elemek...3 invoiceform.h...3 invoiceform.cpp...5 Főablak elkészítése...11
RészletesebbenElemi alkalmazások fejlesztése III.
Elemi alkalmazások fejlesztése III. Memóriajáték 1. Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 1 memorygame Játék közben 2 memorygame Kártyák kiválasztása
RészletesebbenJava Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor
Java Programozás 4. Gy: Java GUI Tipper, MVC kalkulátor 15/1 B ITv: MAN 2018.03.10 1. Feladat: Tipper Készítsük el a tippelős programunk grafikus változatát. Az üzleti logika kódja megvan, a felület pedig
RészletesebbenBME MOGI Gépészeti informatika 15.
BME MOGI Gépészeti informatika 15. 1. feladat Készítsen alkalmazást a y=2*sin(3*x-π/4)-1 függvény ábrázolására a [-2π; 2π] intervallumban 0,1-es lépésközzel! Ezen az intervallumon a függvény értékkészlete
RészletesebbenAdabáziselérés ODBC-n keresztül utasításokkal C#-ban
Adabáziselérés ODBC-n keresztül utasításokkal C#-ban 1. Előkészítés Access adatbázis lemásolása, ODBC DSN létrehozása Másoljuk le az alábbiakat: Mit Honnan Hova list.mdb p:\johanyák Csaba\Vizualis programozas\data\
RészletesebbenEgysé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
RészletesebbenSzámítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás
Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási
RészletesebbenAdatok speciális megjelenítése
Adatok speciális megjelenítése Speciális adatmegjelenítés Az adatok csoportos megjelenítéshez a nézet számos osztályt (QListView, QTableView, QTreeView) biztosít, amelyekből származtatással továbbiakat
RészletesebbenAlprogramok, paraméterátadás
ELTE Informatikai Kar, Programozási Nyelvek és Fordítóprogramok Tanszék October 24, 2016 Programozási nyelvek Alprogramok Függvények, eljárások Metódusok Korutinok stb. Alprogramok Alprogram: olyan nyelvi
RészletesebbenElemi alkalmazások fejlesztése III.
Elemi alkalmazások fejlesztése III. Egy ablakos alkalmazás készítése II. C++ / Qt / KDevelop felhasználásával készítette: Szabóné Nacsa Rozália lektorálta: Párniczky Krisztina 1 Fájlkezelés Olvasás 2 A
RészletesebbenOrszá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.
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 Útmutató 2010. június 1. BEVEZETÉS Az útmutató célja az Országos Területrendezési
RészletesebbenA feladat lényege egy felhasználói típusnak a zsák típusnak a megvalósítása.
Feladat Készítsen egy egész számokat tartalmazó zsák típust! A zsákot dinamikusan lefoglalt tömb segítségével ábrázolja! Implementálja a szokásos műveleteket (elem betevése, kivétele, üres-e a halmaz,
RészletesebbenFeladat. Tervezés és implementálás
Tartalomjegyzék FELADAT...2 Elvárások...2 TERVEZÉS ÉS IMPLEMENTÁLÁS...2 Megjelenési terv...2 Grafikus felület készítése...3 Modulszerkezet...3 Osztály diagram...3 MillMain form...4 Vezérlő k elrendezése...4
RészletesebbenBME MOGI Gépészeti informatika 18. Grafika, fájlkezelés gyakorló óra. 1. feladat Készítsen alkalmazást az = +
BME MOGI Gépészeti informatika 18. Grafika, fájlkezelés gyakorló óra 1. feladat Készítsen alkalmazást az = + függvény ábrázolására! Az értelmezési tartomány a [-6;5] intervallum, a lépésköz 0,1 legyen!
RészletesebbenProgramozás alapjai 9.Gy: Struktúra 2.
Programozás alapjai 9.Gy: Struktúra 2. Ördögi részletek P R O A L A G 35/1 B ITv: MAN 2018.11.10 Euró árfolyam statisztika Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR).
RészletesebbenBME MOGI Gépészeti informatika 7.
BME MOGI Gépészeti informatika 7. 1. feladat Írjon Windows Forms alkalmazást egy kör és egy pont kölcsönös helyzetének vizsgálatára! A feladat megoldásához hozza létre a következő osztályokat! Pont osztály:
RészletesebbenJava II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
RészletesebbenBevezetés a programozásba II 1. gyakorlat. A grafikus könyvtár használata, alakzatok rajzolása
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba II 1. gyakorlat A grafikus könyvtár használata, alakzatok rajzolása 2014.02.10. Giachetta Roberto groberto@inf.elte.hu
RészletesebbenOOP: Java 8.Gy: Abstract osztályok, interfészek
OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus
RészletesebbenElemi 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
RészletesebbenBevezetés a programozásba előadás: Öröklődés
Bevezetés a programozásba 2 5. előadás: Öröklődés emlékeztető Tagfüggvény struct koord { double x,y,r; void set(double ux, double uy) { x=ux; y=uy; r=sqrt(x*x+y*y); } Használat: koord k; k.set(4,5); Egységbezárás
RészletesebbenBevezetés a programozásba I.
Bevezetés a programozásba I. 6. gyakorlat C++ alapok, szövegkezelés Surányi Márton PPKE-ITK 2010.10.12. Forrásfájlok: *.cpp fájlok Fordítás: a folyamat, amikor a forrásfájlból futtatható állományt állítunk
RészletesebbenQt rajzolás munkafüzet. Elemi Alkalmazások fejlesztése 3.
Qt rajzolás munkafüzet Elemi Alkalmazások fejlesztése 3. 1. fejezet Impresszum Qt rajzolás munkafüzet (C)2006 Zimler Attila Tamás Visszajelzéseket szivesen fogadok. A munkafüzet
RészletesebbenOrszá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
TeIR 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 Felhasználói útmutató Budapest, 2015. április 1 BEVEZETÉS Az útmutató célja
RészletesebbenAlgoritmizálás + kódolás C++ nyelven és Pascalban
Algoritmizálás + kódolás nyelven és ban Motiváció A Programozási alapismeretek tárgyban az algoritmizáláshoz struktogramot, a kódoláshoz nyelvet használunk, a Közismereti informatikában (a közoktatásban
RészletesebbenProgramozás alapjai gyakorlat. 2. gyakorlat C alapok
Programozás alapjai gyakorlat 2. gyakorlat C alapok 2016-2017 Bordé Sándor 2 Forráskód, fordító, futtatható állomány Először megírjuk a programunk kódját (forráskód) Egyszerű szövegszerkesztőben vagy fejlesztőkörnyezettel
RészletesebbenJárműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás 4.11. A C előfeldolgozó rendszer A fordítás első lépése a C esetében a különböző nyelvi kiterjesztések feldolgozása: másik állomány tartalmának
RészletesebbenC#, OOP. Osztályok tervezése C#-ban
C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat
RészletesebbenSzámítógépes grafika
Számítógépes grafika XXVIII. rész OpenGL Visual C++-ban Ha OpenGL programot szeretnénk létrehozni VisualC++-ban, három lehetőségünk van: Win32 alkalmazás, Win32 konzol alkalmazás és MFC platformon történő
RészletesebbenA PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere
2012. április 10. A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Miről lesz ma szó? alaki szabályok használata - mintapélda használata - mintapélda
RészletesebbenMintavételes szabályozás mikrovezérlő segítségével
Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés
RészletesebbenJava Programozás 6. Gy: Java alapok. Adatkezelő 2.rész
Java Programozás 6. Gy: Java alapok Adatkezelő 2.rész 25/1 B ITv: MAN 2018.04.13 A feladat Feladat: folytassuk a panel életre keltését! - Alakítsuk ki a Lista panelt - Betöltéskor olvassuk be az adatokat
RészletesebbenProgramozás II gyakorlat. 6. Polimorfizmus
Programozás II gyakorlat 6. Polimorfizmus Típuskonverziók C-ben: void * ptr; int * ptr_i = (int*)ptr; Ez működik C++-ban is. Használjuk inkább ezt: int * ptr_i = static_cast(ptr); Csak egymással
RészletesebbenProgramozá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
RészletesebbenJava Programozás 9. Gy: Java alapok. Adatkezelő 5.rész
Java Programozás 9. Gy: Java alapok Adatkezelő 5.rész 15/1 B ITv: MAN 2018.04.22 A Keresés funkció Programlogika: 1. A keresés az etm táblamodellben fog keresni, és a találat rekordokat átmásolja egy másik
RészletesebbenHORVÁ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`)
RészletesebbenProgramozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)
Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával) I. A nyelv története C++ C (ős: B???) 1972 Ritchie AT&T Bell laboratórium UNIX 1978 Kernighan & Ritchie az első tankönyv,
RészletesebbenForráskód formázási szabályok
Forráskód formázási szabályok Írta: Halmai Csongor, Webcenter Bt. A php és html kódrészletek Ugyanazon fájlon belül nem szerepelhet php kód és html tartalom. E kettő különválasztására smarty-t vagy más
Részletesebben1. Alapok. Programozás II
1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph
RészletesebbenC 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,
RészletesebbenA lista eleme. mutató rész. adat rész. Listaelem létrehozása. Node Deklarálás. Létrehozás. Az elemet nekünk kell bef zni a listába
A lista eleme 0 adat rész mutató rész Listaelem létrehozása p: Node 0 0 3 0 Az elemet nekünk kell bef zni a listába Deklarálás struct Node { int int value; Node* next; next; adattagok Létrehozás Node*
Részletesebben4. Öröklődés. Programozás II
4. Öröklődés Programozás II Mielőtt belevágunk Egy Tárgy típusú objektumokat tároló tömb i. elemében tároljunk el egy új tárgyat Rossz módszer: tomb[i].setnev( uj.getnev() ); tomb[i].setertek( uj.getertek()
RészletesebbenProgramozási nyelvek JAVA EA+GY 1. gyakolat
Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program
RészletesebbenProgramozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010
Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 9. ELŐADÁS Grafika Delphiben 2 Grafikus objektumok Tervezési időben létrehozható grafikus elemek: TImage (kép) TShape (alakzat)
RészletesebbenAlgoritmusok és adatszerkezetek II.
Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 6. Ugrólista (Skiplist) Definíció. Olyan adatszerkezet, amelyre
RészletesebbenBevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
RészletesebbenVirtuális függvények (late binding)
Virtuális függvények (late binding) Miskolci Egyetem Általános Informatikai Tanszék Virtuális függvények CPP5 / 1 Azonos nevű függvények megkülönböztetése paraméterszignatúra (függvény overloading) - egy
RészletesebbenEseménykezelés. Aszinkron kommunikáció
Eseménykezelés Aszinkron kommunikáció Feladat Készítsünk egy stoppert, amely másodpercenként jelzi a múló időt. Ez a folyamat egy adott jelzés hatására induljon el; ugyanezen jelzés ismétléseinek hatására
RészletesebbenBME MOGI Gépészeti informatika 14.
BME MOGI Gépészeti informatika 14. 1. feladat Készítsen alkalmazást, mely a képernyő közepére egy véletlen színnel kitöltött kört rajzol! A színváltást nyomógomb segítségével oldja meg! A rajzolást a form
RészletesebbenA C# PROGRAMOZÁSI NYELV
A C# PROGRAMOZÁSI NYELV 2010.02.23. Bevezetés C# nyelv jellemzői 2 Kis és NAGY betű érzékeny Minden utasítást pontos vessző zár. Utasítás zárójel a:,. .NET Framework keretrendszerek 3 Microsoft.NET Framework
RészletesebbenProgramozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)
Programozás alapjai C nyelv 5. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.17. -1- Tömbök Azonos típusú adatok tárolására. Index
RészletesebbenOAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.
OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat Szimuláljuk különféle élőlények túlélési versenyét. A lények egy pályán haladnak végig, ahol váltakozó viszonyok vannak. Egy lénynek
RészletesebbenMechatronika é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
RészletesebbenC programozási nyelv
C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György
RészletesebbenBevezetés a programozásba Előadás: A const
Bevezetés a programozásba 2 6. Előadás: A const ISMÉTLÉS Interface - Implementation struct Particle { int x,y; unsigned char r,g,b; void rajzol(); }; }; void Particle::rajzol() { gout
RészletesebbenEseményvezérelt alkalmazások fejlesztése I 11. előadás. Adatkezelés speciális eszközökkel. Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 11. előadás Adatkezelés speciális eszközökkel Giachetta Roberto http://people.inf.elte.hu/groberto Az adatkezelés
RészletesebbenAlkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 1/3
Tartalomjegyzék Feladat...2 A számla elemei...2 A dokumentumot tároló fájl felépítése...3 A számlakészítő program osztálydiagramja...4 Field osztály...4 field.h...4 field.cpp...5 Fields osztály...6 fields.h...6
RészletesebbenMobil alkalmazások fejlesztése
Tartalom Peekabo a legkisebb projekt... 2 A fordítás és szerkesztés folyamata... 2 Peekabo.mmp... 2 Peekaboo.pan... 3 Peekaboo.rss... 3 Peekaboo.rls... 4 Peekaboo.hrh... 4 Főprogram... 5 Peekaboo.cpp...
RészletesebbenGrafikus felületek a programozó szempontjából grafikus elemek absztrakt reprezentációja az egyes elemek tulajdonságait leíró adatstruktúrák.
AWT Grafika Bevezető Grafikus felületek a programozó szempontjából grafikus elemek absztrakt reprezentációja az egyes elemek tulajdonságait leíró adatstruktúrák. Fogalmak: geometriai alakzatok, felületek,
RészletesebbenAlkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 2/3
Tartalomjegyzék Feladat...2 Az alkalmazás osztálydiagramja...2 Modell-nézet (model-view) tervezési minta (bevezetés)...3 Számlatételek kezelése, karbantartása ( táblázat kezelés )...4 A táblázatkezelő
RészletesebbenElemi alkalmazások fejlesztése III
Elemi alkalmazások fejlesztése III C++/ Qt alapú SDI alkalmazás készítése I. Készítette: Szabóné Nacsa Rozália Steingart Ferenc 1 Feladat Készítsünk egy számlakezel ő ablakos alkalmazást! Számlafejléc
RészletesebbenC# osztályok. Krizsán Zoltán
C# osztályok Krizsán Zoltán Fogalma Önálló hatáskőrrel rendelkező, absztrakt adattípus, amely több, különböző elemet tartalmazhat. Minden esetben a heap-en jön létre! A programozó hozza létre, de a GC
RészletesebbenJohanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba
Ugráló gomb Készítsünk egy egyszerű játékprogramot, ami egy mozgó nyomógombot tartalmaz. A nyomógomb beállított ideig marad egy helyben, majd az ablakon számára elhatárolt terület (panel) egy véletlenszerűen
RészletesebbenHálózati alkalmazások
Hálózati alkalmazások Hálózati alkalmazások QT osztályai A Qt támogatja az FTP és HTTP alapú hálózati alkalmazások készítését. A QFtp osztály segítségével lehet fájlokat megadott hálózati helyekre fel-
RészletesebbenUgráló gomb oktatási segédlet Ugráló gomb
Ugráló gomb Készítsünk egy egyszerű játékprogramot, ami egy mozgó nyomógombot tartalmaz. A nyomógomb beállított ideig marad egy helyben, majd az ablakon számára elhatárolt terület (panel) egy véletlenszerűen
RészletesebbenProgramozás alapjai II. (1. ea) C++
Programozás alapjai II. (1. ea) C++ C++ kialakulása, nem OO újdonságok: Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2019.02.05.
RészletesebbenProgramozás alapjai II. (1. ea) C++
Programozás alapjai II. (1. ea) C++ C++ kialakulása, nem OO újdonságok: Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2019.02.05.
Részletesebben