Elemi alkalmazások fejlesztése III
|
|
- Dávid Pásztor
- 6 évvel ezelőtt
- Látták:
Átírás
1 Elemi alkalmazások fejlesztése III Egyablakos alkalmazás készítése I. Qt/X11 felhasználásával Kdevelop környezetben készítette: Steingart Ferenc Szabóné Nacsa Rozália
2 Ajánlott irodalom Qt dokumentáció online: lokális változat: Kdevelop help vagy /usr/share/doc... Nyomtatható változat: PDF formátumban KDevelop dokumentáció
3 A Qt assistant elindítása Alt F2-vel behívjuk a parancsablakot, majd kiadjuk az assistant parancsot.
4 A Qt assistant nyitó ablaka
5 A callback mechanizmus és a signal/slot mechanizmus összehasonlítása Feladat: Jelenítsük meg a csúszka (slider) aktuális értékét egy számkijelz ő n. Visual C++ / MFC Kdevelop / Qt
6 // Generated message map functions SliderDlg.h //{{AFX_MSG(CSliderDlg)... afx_msg void OnReleasedcaptureSlider(NMHDR* pnmhdr, LRESULT* presult); //}}AFX_MSG DECLARE_MESSAGE_MAP() SliderDlg.cpp BEGIN_MESSAGE_MAP(CSliderDlg, CDialog) //{{AFX_MSG_MAP(CSliderDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_NOTIFY(NM_RELEASEDCAPTURE, IDC_SLIDER, OnReleasedcaptureSlider) //}}AFX_MSG_MAP END_MESSAGE_MAP() SliderDlg.cpp Void CSliderDlg::OnReleasedcaptureSlider(NMHDR* pnmhdr, LRESULT* presult) { // TODO: Add your control notification handler code here m_lcd = m_slider.getpos(); UpdateData(FALSE); *presult = 0; }
7 Callback mechanizmus SliderDlg Üzenet Metódus Releasedcapture OnReleasedcaptureSlider Üzenet tábla Void CsliderDlg::OnReleasedcaptureS lider(...) Üzenetkezel ő metódus Slider mozgatás 1
8 Callback mechanizmus SliderDlg Üzenet Metódus Releasedcapture OnReleasedcaptureSlider Üzenet tábla Void CsliderDlg::OnReleasedcaptureSlider(...) Üzenetkezelő metódus 2 Üzenet Slider mozgatás 1
9 Callback mechanizmus SliderDlg Üzenet Metódus Releasedcapture OnReleasedcaptureSlider Üzenet tábla 3 Üzenetkezel ő behívása Void CsliderDlg::OnReleasedcaptureSlider(...) Üzenetkezelő metódus 2 Üzenet Slider mozgatás 1
10 Callback mechanizmus SliderDlg Üzenet Metódus Releasedcapture OnReleasedcaptureSlider Üzenet tábla 3 Üzenetkezel ő behívása 4 Void CsliderDlg::OnReleasedcaptureSlider(...) Érték lekérdezése Üzenetkezelő metódus 2 Üzenet Slider mozgatás 1
11 Callback mechanizmus SliderDlg Üzenet Metódus Releasedcapture OnReleasedcaptureSlider Üzenet tábla 3 Üzenetkezel ő behívása Void CsliderDlg::OnReleasedcaptureSlider(...) Üzenetkezelő metódus 4 Érték lekérdezése Kijelz ő beállítása 5 2 Üzenet Slider mozgatás 1
12 Signal / slot mechanizmus Slotok Signálok Slotok Signálok ValueChanged(int) Display(int) A slider ØrtØkvÆltozÆs esetøn valuechanged(int) szignælt k ld. Ezt a szignælt hozzæk tj k a szæmkijelz ő display (int) slotjæhoz (speciælisan kezelt m ű veletøhez).
13 Signal / slot mechanizmus Slotok Signálok Slotok Signálok ValueChanged(int) Display(int) connect( ansgroup, SIGNAL( clicked(int) ), this, SLOT( checkanswer(int) ) );
14 A grafikus tervez ő eszköz szerepe Programfejlesztő Grafikus tervező (Kdevelop) Qt Program Kinek a módosítása érvényes?
15 A.ui fájl és a generált kód Qt designer form.ui UIC form.h Írás, olvasás Olvasás Generálás #includes Eszköz (tool) Generált forráskód Felhasználó forráskódja form.cpp main.cpp
16 A.ui fájl és a generált kód származtatás Qt designer formbase.ui UIC formbase.h Örökl ő dés form.h Írás, olvasás Olvasás Generálás #includes Eszköz (tool) Generált forráskód Felhasználó forráskódja formbase.cpp Névkonvenció form.cpp main.cpp
17 Kdevelop / Qt alkalmazás Legyen Ön is milliomos! Gomb + kép Szerkeszthet ő szöveg LCD kijelző Gomb csoport Gomb + szöveg Radio Button
18 Új projekt létrehozása Project / New 1 2
19 Kdevelop projekt elkészítése Qt SDI 1 2
20 Az alkalmazás adatai 1 Mill 2 3
21 Projekt generálása A generálás normál üzenetet Figyelmeztetések, hibák
22 Bug kiszedése Módosítani kell az acinclude.m4.in fájlt.
23 Módosítani kell az acinclude.m4.in fájlt. Törölni kell a [ és ] zárójeleket. [m4_define([$1], [mm_car($2)])$3[]_mm_foreach([$1], [m4_define([$1], mm_car($2))$3[]_mm_foreach([$1],
24 Grafikus elem hozzáadása A Switch to Qt's designer gommbal váltsunk át Qt-re.
25 Qt designer - a képerny ő felépítése Fájlok Forrásszöveg, widget Tulajdonságok Beállítás:Window/View/... Vezérlőelemek
26 PushButton RadioButton CheckBox Qt Toolbar ButtonGroup Frame TextLabel LCDNumber LineEdit TextEdit ComboBox
27 Új widget létrehozása: File/New/Widget Ez a párbeszédablak behívható a Kdevelop-ból is közvetlenül a File/New paranccsal.
28 Párbeszédablak name, caption
29 File/Save as... Fogadjuk el a widget nevéből származtatott file nevet.
30 Szövegdoboz elhelyezése A Qt eszköztárából válasszuk ki a TextEdit eszközt 1 2 Kattintsunk a szövegdoboz tervezett helyére.
31 1 PushButton Pixmap gomb elhelyezése 3 2 Kattintsunk a vezérl ő elem tervezett helyére. 4 Válaszunk képet a gomb felirata helyett.
32 1 LCDNumber Számkijelz ő elhelyezése 2
33 Távtartó (spacer) elhelyezése Spacer Az endbutton és az LCD kijelz ő közé elhelyezhetünk egy távtartót.
34 Elrendezés szabályozása 2 Kattintsunk a Lay Out Vertically gombra. Jelöljük ki egyszerre mindhárom elemet. 1
35 Layout toolbar Ezzel a gombbal lehet megszüntetni a csoportot. A piros keret jelzi az elemek összetartozását
36 TextLabel Kérdés elhelyezése
37 ButtonGroup Válasz keret elhelyezése
38 Radio Button Válaszok elhelyezése 1
39 Válaszok elhelyezése 2
40
41 A Következő gomb elhelyezése
42 Grid Layout A szabályos elrendezéshez kattintson a Lay Out in a Grid gombra Ne legyen elem kiválasztva.
43 ? Viselkedés tesztelése Ctrl T Itt léphet ki a tesztelésb ő l. A szövegek elrendezése változik az ablak méretével.
44 A.ui file mentése
45 A.ui file beillesztése a Kdevelop projektbe
46 .ui -> XML
47 main.cpp program hozzáadása
48 Kdevelop main.cpp Gépeljük be a forrásprogramot.
49 main.cpp #include <qapplication.h> #include "millmainbase.h" 1 int main( int argc, char ** argv ) { QApplication a( argc, argv ); 2 MillMainBase *w = new MillMainBase; 3 w->show(); 4 5 a.connect( &a, SIGNAL( lastwindowclosed() ), &a, SLOT( quit() ) ); } return a.exec(); 6
50 Fordítás Futtatás
51 Következ ő kérdés feladása - nextquestion() Válasz ellen ő rzése - checkanswer() Kilépés - endbutton()
52 !!!!!!!! Következ ő kérdés feladása - nextquestion() Válasz ellen ő rzése - checkanswer() Kilépés - endbutton() connect( nextbutton, SIGNAL( clicked() ), this, SLOT( newquestion() ) ); connect( ansgroup, SIGNAL( clicked(int) ), this, SLOT( checkanswer(int) ) ); connect( endbutton, SIGNAL( clicked() ), this, SLOT( endgame() ) );
53 Connect Signal/Slots (F3) Kapcsolatépítés Qt-ben 3. Elenged 2. Húz 1. Kattint
54
55 Edit Connection Beépített slot Felhasználói slot Ezt az ablakot el ő hívhatjuk az Edit/Connection menüponttal is.
56 Edit/Connections... connect( nextbutton, SIGNAL( clicked() ), this, SLOT( newquestion() ) ); connect( ansgroup, SIGNAL( clicked(int) ), this, SLOT( checkanswer(int) ) ); connect( endbutton, SIGNAL( clicked() ), this, SLOT( endgame() ) );
57 Generált header connections public slots: virtual void endgame(); virtual void newquestion(); virtual void checkanswer(int); Millmainbase.h
58 Generált forráskód connections... void MillMainBase::endGame() { qwarning( "MillMainBase::endGame(): Not implemented yet!" ); } void MillMainBase::newQuestion() { qwarning( "MillMainBase::newQuestion(): Not implemented yet!" ); } void MillMainBase::checkAnswer(int) { qwarning( "MillMainBase::checkAnswer(int): Not implemented yet!" ); } #include "millmainbase.moc"
59 Fordítás/ Futtatás
60 Projektkészítés kézzel mill könyvtár main.cpp millmain.h millmain.cpp qmake -project qmake mill.pro make./mill
61 Kézi programozás: main.cpp #include <qapplication.h> #include "millmain.h" int main( int argc, char ** argv ) { QApplication a( argc, argv ); MillMain *w = new MillMain; w->show(); a.connect( &a, SIGNAL( lastwindowclosed() ), &a, SLOT( quit() ) ); return a.exec(); }
62 Caption A widget megtervezése mainlayout toprightlayout QTextEdit QPushButton QLCDNumber toplayout QLabel QRadioButton QRadioButton QRadioButton QRadioButton ansgrouplayout QPushButton bottomlayout
63 A widget megtervezése Caption text endbutton moneyvalue questionlabel ans1 ans3 ans2 ans4 nextbutton
64 #ifndef MILLMAIN_H #define MILLMAIN_H #include <qwidget.h> Kézi programozás: millmain.h main.h class QTextEdit; class QPushButton; class QButtonGroup; class QLabel; class QLCDNumber; class QRadioButton; class MillMain : public QWidget { Q_OBJECT public: MillMain( QWidget* parent = 0, const char* name = 0); public slots: virtual void newquestion(); virtual void checkanswer(int); virtual void endgame(); protected: QTextEdit* text; QPushButton* endbutton; QLCDNumber* moneyvalue; QLabel* questionlabel; QPushButton* nextbutton; QButtonGroup* ansgroup; QRadioButton* ans1; QRadioButton* ans2; QRadioButton* ans3; QRadioButton* ans4; }; #endif
65 Kézi programozás: millmain.cpp main.cpp #include "millmain.h" #include <qvariant.h> #include <qbuttongroup.h> #include <qlabel.h> #include <qlcdnumber.h> #include <qpushbutton.h> #include <qradiobutton.h> #include <qtextedit.h> #include <qlayout.h>... MillMain::MillMain( QWidget* parent, const char* name ) : QWidget( parent, name ) { if (!name ) setname( "MillMain" ); setcaption( "Legyen Ön is milliomos" ); // Vezérlőelemek megadása Következ ő lap // signals and slots connections connect( nextbutton, SIGNAL( clicked() ), this, SLOT( newquestion() ) ); connect( ansgroup, SIGNAL( clicked(int) ), this, SLOT( checkanswer(int) ) ); connect( endbutton, SIGNAL( clicked() ), this, SLOT( endgame() ) ); }
66 Kézi programozás: millmain.cpp main.cpp... text = new QTextEdit( this, "text" ); endbutton = new QPushButton( "Vege", this, "endbutton" ); nextbutton = new QPushButton( "Kovetkezo", this); moneyvalue = new QLCDNumber( this, "moneyvalue" ); questionlabel = new QLabel( this, "questionlabel" ); questionlabel->setframeshape( QLabel::Box ); questionlabel->setframeshadow( QLabel::Sunken ); questionlabel->setalignment( int( QLabel::AlignCenter ) ); questionlabel->settext("kerdes helye"); ansgroup = new QButtonGroup( this, "ansgroup" ); ansgroup->setcolumnlayout(0, Qt::Vertical ); ansgroup->layout()->setspacing( 6 ); ansgroup->layout()->setmargin( 11 ); ansgroup->settitle( tr("kattintson a megfelelo valaszra!")); Vezérl ő elemek megadása ans1 = new QRadioButton( ansgroup, "ans1" ); ans2 = new QRadioButton( ansgroup, "ans2" ); ans3 = new QRadioButton( ansgroup, "ans3" ); ans4 = new QRadioButton( ansgroup, "ans4" );...
67 Kézi programozás: millmain.cpp main.cpp... QGridLayout *ansgrouplayout = new QGridLayout( ansgroup->layout() ); ansgrouplayout->addwidget( ans1, 0, 0 ); ansgrouplayout->addwidget( ans2, 0, 1 ); ansgrouplayout->addwidget( ans3, 1, 0 ); ansgrouplayout->addwidget( ans4, 1, 1 ); QVBoxLayout *toprightlayout = new QVBoxLayout; toprightlayout->addwidget(endbutton); toprightlayout->addstretch(1); toprightlayout->addwidget(moneyvalue); QHBoxLayout *toplayout = new QHBoxLayout; toplayout->addwidget(text); toplayout->addlayout(toprightlayout); Vezérl ő elemek elrendezése QHBoxLayout *bottomlayout = new QHBoxLayout; bottomlayout->addstretch(1); bottomlayout->addwidget(nextbutton);...
68 Kézi programozás: millmain.cpp main.cpp... QVBoxLayout *mainlayout = new QVBoxLayout(this); mainlayout->setmargin(11); mainlayout->setspacing(6); mainlayout->addlayout(toplayout); mainlayout->addwidget(questionlabel); mainlayout->addwidget(ansgroup); mainlayout->addlayout(bottomlayout);... F ő vezérl ő elem összeállítása
69 Kézi programozás: millmain.cpp main.cpp... //Slots void MillMain::newQuestion() { qwarning( "MillMain::newQuestion(): Not implemented yet" ); } void MillMain::checkAnswer(int) { qwarning( "MillMain::checkAnswer(int): Not implemented yet" ); } void MillMain::endGame() { qwarning( "MillMain::endGame(): Not implemented yet" ); }... Eseménykezel ő k el ő készítése
70 Alkalmazás készítés Qt Designerben Qt designer elindítása Új Qt projekt létrehozása Párbeszédablak (form) hozzáadása a projekthez Vezérlőelemek ( slider, lcd) megadása main.cpp hozzávétele a projekthez Fordítás/Futtatás (parancs módban)
71 mill.pro SOURCES+= main.cpp unix { UI_DIR =.ui MOC_DIR =.moc OBJECTS_DIR =.obj } FORMS = millmainbase.ui TEMPLATE =app CONFIG += qt warn_on release LANGUAGE = C++
72 mill.pro ###################################################################### # Automatically generated by qmake (1.04a) Sun Feb 29 18:33: ###################################################################### TEMPLATE = app CONFIG -= moc INCLUDEPATH +=. # Input INTERFACES += millmainbase.ui SOURCES += main.cpp
73 Vége, de... Folyt. köv.
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...
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
QLabel *label = new Qlabel("Hello Qt!",0);
#include #include int main(int argc,char **argv) QApplication app(argc,argv); QLabel *label = new Qlabel("Hello Qt!",0); app.setmainwidget(label); label->show(); return app.exec();
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
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
Elemi 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
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
Feladat. 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
Elemi alkalmazások fejlesztése IV. Adatbáziskezel alkalmazás készítése QtDesignerben. Készítette: Szabóné Nacsa Rozália
Elemi alkalmazások fejlesztése IV. Adatbáziskezel ő alkalmazás készítése QtDesignerben Készítette: Szabóné Nacsa Rozália 1 Származtatásos modulszerkezet Q t form.ui U formbase.h Örökl ő dés form.h formbase.cpp
Budapest, 2007. március. ELTE Informatikai Kar
Tartalomjegyzék Alkalmazás készítés Qt osztályokkal...2 A qmake eszköz...2 Hello Qt (hello)...2 A projekt elkészítésének lépései...3 Objektumok közötti kommunikáció (quit)...3 A projekt elkészítésének
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
Elemi alkalmazások fejlesztése
Egyablakos alkalmazás készítése II...2 Osztályszerkezet...3 Modulszerkezet...3 A kérdés rekord felépítése: Question...4 A kérdéssor típus: QuestionIterator...4 A QuestionIterator osztály beillesztése a
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
1. feladat. Szabóné Nacsa Rozália
1. feladat Készítsünk programot kisdiákoknak összeadás gyakorlására. Legyenek az operandusok 0-10 véletlen számok. Az = jel utáni szövegdobozban a kisdiáknak kell begépelni a megoldást. Az Értékelés gomb
Eseményvezérelt alkalmazások
Szabóné Nacsa Rozália nacsa@inf.elte.hu Eseményvezérelt alkalmazások A Windows alkalmazások eseményvezérelt alkalmazások Esemény: egér kattintás billenty leütés stb. Üzenetkezelés Operációs rendszer kódja
Elemi 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
MySql 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
Elemi 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ó
Tervezőeszközök, fejlesztőeszközök használata Qt alapú alkalmazásoknál. Saját vezérlő használata tervezőben (worldclocks)
Tartalomjegyzék Tervezőeszközök, fejlesztőeszközök használata Qt alapú alkalmazásoknál...1 Saját vezérlő használata tervezőben (worldclocks)...1 DigitalClock osztály (módosítás)...2 MyForm osztály...3
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
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
Elemi alkalmazások fejlesztése I.
Steingart Ferenc el adása alapján készítette: Szabóné Nacsa Rozália Integrált fejleszt környezet Linux MS Win* www.kdevelop.org www.bloodshed.net Bevezetés 1 A kdevelop f ablaka Editor és böngész Projektszerkezet
Elemi 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
3D-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
ADATBÁZISKEZELÉS KÖZVETLEN ELÉRÉSSEL II...2
ADATBÁZISKEZELÉS KÖZVETLEN ELÉRÉSSEL II...2 2. FELADAT: RENDEZETT LISTA...2 KÉSZITSÜK EL A FILLSORTEDDATA(INT SCOLUMN) SAJÁT METÓDUST!...2 void CBankView::FillSortedData(int scolumn)... 3 KÉSZITSÜK EL
Esemé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
Elemi 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
Elemi 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
Adatbázis-kezelés ActiveX vezérl kkel 2.rész
Adatbázis-kezelés ActiveX vezérl kkel 2.rész Készítette: Szabóné Nacsa Rozália 2004. november Feladat Figyelmeztetés, Figyelmeztetés, ha ha betelt betelt a a csoport. csoport. Csoport Csoport kiválasztása
Adatbázis-kezelés ActiveX vezérl kkel
Adatbázis-kezelés ActiveX vezérl kkel Készítette: Szabóné Nacsa Rozália 2004. november Saját vezérl Feladat: Készítsünk kört kört rajzoló rajzológrafikus vezérl vezérl t. t. Figyelem!! Most Most az az
Programozá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
SDI ALKALMAZÁS I. Workspace / ResourceView / Toolbar / IDR_MAINFRAME. Workspace / ResourceView / Menu / IDR_MAINFRAME
SDI ALKALMAZÁS I. Feladat: Készítsünk egy olyan alkalmazást, amely az év végi adózás céljából rögzíti egyetlen évközi bevételnek az adatait: bruttó jövedelem adóel ı leg nettó bevétel jövedelem forrása
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
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
Grafikus 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
Java Programozás 5. Gy: Java alapok. Adatkezelő 1.rész
Java Programozás 5. Gy: Java alapok Adatkezelő 1.rész 27/1 B ITv: MAN 2018.04.13 Feladat Egy nagyon hosszú feladatmegoldásba kezdünk bele: létrehozunk egy adatkezelő programot, sok-sok extrával: 27/2 A
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 EAF3 Qt4 Bevezetés (mod01) 1 A Qt assistant nyitó ablaka www.trolltech.com
Szabóné Nacsa Rozália. Feladat. Készítsünk el egy üres FormView alapú alkalmazást és építsünk köré egy súgó környezetet.
Szabóné Nacsa Rozália Feladat Készítsünk el egy üres FormView alapú alkalmazást és építsünk köré egy súgó környezetet. 1 Tartalom Tárgymutató 2 Keresés Menüpontok 3 HTML oldalak HTML oldalak felsorolása
Hardver modellezés SystemC-vel és SDL grafikus könyvtárral Visual Stúdió alatt
BME Hardver modellezés SystemC-vel és SDL grafikus könyvtárral Visual Stúdió alatt Visual Studio, SystemC, SDL Tóth Gergely Endre 2013.03.18. 1 Bevezetés Ebben a dokumentumban leírom, hogy hogyan lehet
ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés. Készítette: Gregorics Tibor
ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés Készítette: Gregorics Tibor Előfeltétel: OAF (EAF2) Kötelező házi feladatok: 4 darab feladat max. 5-5 pontért Feltételek 2 hét késés: legfeljebb 3
2. Beadandó feladat dokumentáció
2. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk programot a következő memóriajátékhoz. A játéktáblán mező foglal helyet, amelyek különböző
Qt 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
Esemé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
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
Adatbázis-kezelés ODBC driverrel
ADATBÁZIS-KEZELÉS ODBC DRIVERREL... 1 ODBC: OPEN DATABASE CONNECTIVITY (NYÍLT ADATBÁZIS KAPCSOLÁS)... 1 AZ ODBC FELÉPÍTÉSE... 2 ADATBÁZIS REGISZTRÁCIÓ... 2 PROJEKT LÉTREHOZÁSA... 3 A GENERÁLT PROJEKT FELÉPÍTÉSE...
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.
Alkalmazá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ő
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
Eseményvezérelt alkalmazások fejlesztése I 3. előadás. Dinamikus felületű alkalmazások. Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 3. előadás Dinamikus felületű alkalmazások Giachetta Roberto http://people.inf.elte.hu/groberto A felhasználói
2. Beadandó feladat dokumentáció
2. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk programot a következő memóriajátékhoz. A játéktáblán mező foglal helyet, amelyek különböző
Adabá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\
Elemi alkalmazások fejlesztése IV. Adatbáziskezelő alkalmazás készítése C++/Qt ben I.
Tartalomjegyzék Adatbáziskezelő alkalmazás készítése C++/Qt ben I...3 A MySQL adatbáziskezelő használatba vétele...3 Az alkalmazás adatbázisa...4 A Qt/Sql modul...5 Az adatbázis és az alkalmazás összekapcsolása...5
osztályok kapcsolata Származtatatás C++ Izsó Tamás 2014. március 19. Izsó Tamás Származtatatás/ 1
Származtatatás C++ Izsó Tamás 2014. március 19. Izsó Tamás Származtatatás/ 1 Dinamikus tagváltozó az osztályban class RVektor { i n t n ; R a c i o n a l i s p ; p u b l i c : RVektor ( i n t n=10 ) :
17. Többdokumentumos alkalmazások készítése..3 A többdokumentumos felület...3. A program elkészítése...27
vi 18. Szöveges input- és outputkezelés...........25 Szöveg kiírása.............................25 A program elkészítése........................5 A programhoz tartozó osztályok, fájlok és forráskód......8
4. Ö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()
Mobil 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
Eseményvezérelt alkalmazások fejlesztése I 2. előadás. Egyszerű, egyablakos alkalmazások
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 2. előadás Egyszerű, egyablakos alkalmazások 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Access adatbázis elérése OLE DB-n keresztül
Access adatbázis elérése OLE DB-n keresztül Készítsünk egy grafikus felülető alkalmazást, ami lehetıvé teszi egy Access adatbázisban tárolt hallgatói adatok (EHA, Név, e-mail cím) lekérdezését (összes
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
Dinamikus felületű alkalmazások. Stílusok, időzítő, képek
Dinamikus felületű alkalmazások Stílusok, időzítő, képek Felhasználói felület fajtái Az alkalmazásaink grafikus felülete alapvetően kétféle lehet: statikus: az alkalmazás felületén lévő vezérlőket induláskor
Programozás 6. Dr. Iványi Péter
Programozás 6. Dr. Iványi Péter 1 Előfeldolgozás része Makrók A forrás kódban elvégzi a helyettesítéseket a fordító Csak egyszer végez helyettesítést Nem olyan makrók, mint a LISP vagy Scheme esetén Csak
Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1
ADATBÁZIS-KEZELÉS ACTIVEX VEZÉRLİK ALKALMAZÁSÁVAL I.... 1 ACTIVEX... 1 ACTIVEX CONTROL... 1 SAJÁT ACTIVEX VEZÉRLİ LÉTREHOZÁSA... 1 circctrl.cpp... 2 Háttérszín tulajdonság hozzárendelése a vezérlıhöz...
Bevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok
Bevezetés a programozásba II 8. Előadás: Osztályok, objektumok, osztályszintű metódusok vektor.h #ifndef VEKTOR_H #define VEKTOR_H class Vektor { int meret, *mut; public: Vektor(int meret); int szamlal(int
Alkalmazá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
3. Beadandó feladat dokumentáció
3. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk programot a közismert Tic-Tac-Toe játékra. Ebben a játékban a játékosok egy -as játékmezőn
Szá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ő
Bevezeté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;
C 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
Grafikus felületek készítése 1.
Grafikus felületek készítése 1. SWT Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Grafikus felületek fejlesztése Java grafikus toolkitek o AWT Na>v widgetek
Johanyá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
Grafikus felület programozása Qt-ban (1. rész)
Grafikus felület programozása Qt-ban (1. rész) Írásunkkal a grafikus felhasználói felülettel rendelkezõ programok készítésének rejtelmeibe kívánunk betekintést nyújtani. Készítsünk egyszerû szövegszerkesztõ
Bevezetés a programozásba Előadás: Fordítási egység
Bevezetés a programozásba 2 5. Előadás: Fordítási egység ISMÉTLÉS Tagfüggvény kiemelése struct Particle { int x,y; unsigned char r,g,b; void rajzol(); }; void Particle::rajzol() { gout
Programozá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
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
CitiDirect BE SM Felhasználói útmutató
CitiDirect BE SM Felhasználói útmutató Bejelentkezés A CitiDirect BE SM futtatásának minimális rendszerkövetelményei megegyeznek a CitiDirect Online Banking rendszer követelményeivel. Kérjük, kattintson
Python modul készítés QGIS 2.8
Python modul készítés QGIS 2.8 Egy Python modul készítését mutatom be, mely egy betöltött réteget tartalmát több shape fájlba menti egy attribútum érték alapján. Hasznos lehet például akkor, ha DXF fájlból
Eseményvezérelt alkalmazások fejlesztése I 8. előadás. Adatbázis-kezelés modell/nézet architektúrában
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 8. előadás Adatbázis-kezelés modell/nézet architektúrában 2013.04.17. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Bevezeté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
Webshop készítése ASP.NET 3.5 ben I.
Webshop készítése ASP.NET 3.5 ben I. - Portál kialakíása - Mesteroldal létrehozása - Témák létrehozása Site létrehozása 1. File / New Web site 2. A Template k közül válasszuk az ASP.NEt et, nyelvnek (Language)
Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben
Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben Java GUI készítése, Oracle kapcsolódás JDBC-vel A jelen anyagban egy egyszerűsített megközelítéssel vizsgáljuk
Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network
Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network Table of Contents Windows 7... 2 Windows 8... 6 Windows Phone... 11 Android... 12 iphone... 14 Linux (Debian)... 20 Sebők Márton
1. fejezet Bevezetés a web programozásába (Balássy György munkája)... 11 Az internet működése... 11
Tartalomjegyzék 1. fejezet Bevezetés a web programozásába (Balássy György munkája)... 11 Az internet működése... 11 Géptől gépig... 11 Számok a gépeknek... 13 Nevek az embereknek... 14 Programok egymás
C#, 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
Informatikai Navigátor
Informatikai Navigátor Gondolatok a szoftverek használatáról és fejlesztéséről 2011. Július 4. szám Informatikai Navigator Gondolatok a szoftverek használatáról és fejlesztéséről Tartalomjegyzék 1. GUI
C++/Qt alapú SDI alkalmazás készítése II...2
...2 Feladat...2 A dokumentum típus módosítása...2 A fejlécet ábrázoló mezők deklarálása...3 Mező lekérdező műveletek...3 Mező beállító slotok...3 Az adatbeviteli mezők és az adattagok összekötése...4
Alap számológép alkalmazás
Első Androidos programom - Egyszerű műveleteket használó számológép elkészítése Android Developer Tools (ADT) segítségével Alap számológép alkalmazás Android programfejlesztés Tompos Szabolcs Tartalom
Proxer 7 Manager szoftver felhasználói leírás
Proxer 7 Manager szoftver felhasználói leírás A program az induláskor elkezdi keresni az eszközöket. Ha van olyan eszköz, amely virtuális billentyűzetként van beállítva, akkor azokat is kijelzi. Azokkal
Osztá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
Stateless Session Bean
Stateless Session Bean Készítsünk egy stateless session bean-t, amellyel összeadhatunk két számot. Hozzunk létre egy Dynamic Web projectet File New Other itt a következőket kell választani: Web Dynamic
WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens
WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens Hozzunk létre egy ASP.NET Empty Web Site projektet! A projekt neve legyen WCFAPP1. Ez
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
Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte.
Programozási alapismeretek :: beadandó feladat Készítő adatai Név: Molnár Tamás EHA: MOTIABT.ELTE E-mail cím: motiabt@inf.elte.hu Gyakorlatvezető: Horváth László Feladat sorszáma: 23. Felhasználói dokumentáció
OOP és UML Áttekintés
OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés
Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22
Unit Teszt Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 1 / 22 Tartalomjegyzék 1 Bevezetés 2 Unit Teszt 3 Példa Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 2 / 22 Szoftvertesztelés
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
Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése
Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése Készítette: Gregorics Tibor Szabóné Nacsa Rozália Alakítsunk át egy infix formájú aritmetikai kifejezést postfix
Egyszerű, egyablakos alkalmazások. vezérlők, ablakok, elrendezők
Egyszerű, egyablakos alkalmazások vezérlők, ablakok, elrendezők Vezérlők Egy eseményvezérelt alkalmazás speciális objektumokból, úgynevezett vezérlőkből áll. A vezérlők olyan elemek, amelyek események
Tartalomjegyzék. Általános Információ! 2. Felhasználói dokumentáció! 3. Feladat! 3. Környezet! 3. Használat! 3. Bemenet! 3. Példa!
Tartalomjegyzék Általános Információ! 2 Felhasználói dokumentáció! 3 Feladat! 3 Környezet! 3 Használat! 3 Bemenet! 3 Példa! 3 A program eredménye! 3 Példa! 3 Hibalehetőségek! 3 Példa! 3 Fejlesztői dokumentáció!
M-Fájlok létrehozása MATLAB-ban
M-Fájlok létrehozása MATLAB-ban 1 Mi az M-fájl Annak ellenére, hogy a MATLAB rendkívül kifinomult és fejlett számológépként használható, igazi nagysága mégis abban rejlik, hogy be tud olvasni és végrehajtani