Multiplatformní GUI knihovna
|
|
- Nela Křížová
- před 6 lety
- Počet zobrazení:
Transkript
1
2 Úvod ke knihovnì Qt Multiplatformní GUI knihovna Qt = jedna ze dvou nejpopulárnìjších multiplatformních knihoven na tvorbu programù s grafickým uživatelským rozhraním. Pomocí Qt jsou naprogramovány napø. : Adobe Photoshop Album, Skype, Google Earth, Opera, KDE a mnoho dalších. - knihovna Qt existuje pro C++, C, C#, Python, Ruby, Perl, Pascal a Javu na Win32, UNIX/Linux, Mac OS, aj. - podporuje lokalizaci aplikací a také SQL, zpracování XML, správu vláken a pøístup k souborùm
3 Architektura Qt Architektura knihovny Qt detaily na:
4 Instalace Získání a instalace knihovny Qt (pro C++) - knihovna má nìkolik verzí - jedna z nich je k dispozici zdarma jako Open Source pod GPL; lze stáhnout z - podporuje pouze pøekladaè MinGW, je tøeba jej nainstalovat (což umí udìlat instalátor Qt, má-li pøístup k i-netu). - úplná instalace Qt má asi 236 MB, MinGW 95 MB - je nutné pøidat /qt/4.3.3/bin a /mingw/bin do PATH - online dokumentace: Pokud je vše správnì nainstalováno, mìlo by fungovat: E:\Work\QtTest\ qmake E:\Work\QtTest\mingw32-make
5 Vytvoøení projektu Vytvoøení projektu a pøeklad - v pracovním adresáøi libovolný zdrojový soubor.cpp, napø. hello.cpp (obsah viz dále) X:\>qmake -project X:\> ren xx.pro hello.pro X:\> qmake X:\> mingw32-make - v pøípadì, že bude zdrojový kód ve více souborech, je samozøejmì nutné je prùbìžnì doplòovat do projektového souboru... - pokud se objeví pøi make chyby, je vìtšinou problém s cestami... není nutné, funguje to i s xx.pro ;) TEMPLATE = app TARGET = DEPENDPATH +=. INCLUDEPATH +=. # Input SOURCES += hello.cpp
6 Minimální aplikace - I. Minimální aplikace v Qt - hello.cpp #include #include int main( int argc, char * argv[]) { QApplication app(argc, argv); QMainWindow mainwin; <QApplication> <QMainWindow> mainwin.show(); return app.exec(); - tøída QApplication vytváøí jen kontext aplikace, není pøímo vázaná na vizuální prvky, proto není s QMainWindow nijak spojená...
7 Minimální aplikace - II. Pøidávání dalších prvkù #include #include int main( int argc, char * argv[]) { QApplication app(argc, argv); QMainWindow mainwin; QPushButton button("&quit"); mainwin.setwindowtitle("qt Test App"); mainwin.setcentralwidget(&button); mainwin.show(); return <QApplication> <QMainWindow> app.exec(); mít vše staticky je velmi nepraktické až nepoužitelné...
8 Praktická pøíprava aplikace Praktický zpùsob programování aplikace #include #include <QApplication> "main.h" hello.cpp int main( int argc, char * argv[]) { QApplication app(argc, argv); MainWindow mainwin; #ifndef MAIN_H mainwin.show(); #define MAIN_H main.h return app.exec(); #include <QMainWindow> class MainWindow: main.cpp public QMainWindow { #include <QMainWindow> public: #include "main.h" MainWindow(); ; MainWindow::MainWindow() { setwindowtitle( "Qt Example" #endif );
9 Ovládací prvky Pøidávání ovládacích prvkù (reálný pøípad) #ifndef MAIN_H #define MAIN_H #include <QMainWindow> class class QPushButton; MainWindow : public QMainWindow { private: QPushButton *quitbutton; public: MainWindow(); ; #include <QMainWindow> #endif #include <QPushButton> #include "main.h" dynamicky MainWindow::MainWindow() { quitbutton = new QPushButton( "&Quit"); setwindowtitle( "Qt Example" ); setcentralwidget(quitbutton);
10 Q W idget Mechanismus slotù Jak to udìlat, aby to nìco dìlalo: Signály a sloty - nastane-li událost (stisk myšítka, klávesy, atp.), vyšle odpovìdný objekt signál, jiný objekt mùže tento signál zachytit nìkterým ze svých slotù; Qt definuje stovky signálù a slotù: Public Slots bool close() void hide() void lower() void raise() void repaint() void setdisabled(bool) void setenabled(bool) void setfocus() void sethidden(bool) virtual void setvisible(bool) void setwindowmodified(bool) void setwindowtitle(const QString &) void show() void showfullscreen() void showmaximized() void showminimized() void shownormal() void update() Public Signals void customcontextmenurequested( const QPoint &) void destroyed(qobject *obj = 0)
11 Propojení signálu se slotem Programové propojení signálu se slotem #include <QtGui> #include <QMainWindow> #include <QPushButton> #include "main.h" MainWindow::MainWindow() { quitbutton = new QPushButton( "&Quit"); setwindowtitle( "Qt Example" ); setcentralwidget(quitbutton); QObject::connect(quitButton, SIGNAL(clicked()), qapp, SLOT(quit())); globální promìnná (z knihovny QtGui) typu ukazatel na aktivní instanci tøídy QApplication, tj. právì bìžící Qtaplikaci...
12 Tvorba slotù - I. Reakce aplikace na události: Vlastní sloty class class QPushButton; QLineEdit; class MainWindow : public QMainWindow { Q_OBJECT private: QPushButton *quitbutton; QPushButton *clearbutton; QPushButton *showbutton; QLineEdit *nameedit; public: MainWindow(); public slots: void showdialogue(); ; tohle pochopitelnì není konstrukce C++, je tøeba zavolat moc (Meta-Object Compiler), který to pøeloží do C++; zahrneme-li jméno headeru do promìnné HEADERS v projektovém souboru.pro, zavolá ho qmake za nás...
13 Tvorba slotù - II. Implementace slotu jako metody... QObject::connect(showButton, SIGNAL(clicked()), this, SLOT(showDialogue())); void MainWindow::showDialogue() { QString * str = new QString( "Hello "); str->append(nameedit->text()); QMessageBox::warning( this, "Greeting", * str, QMessageBox::Ok, QMessageBox::Ok); delete str; - metodu lze normálnì volat, mùže vracet hodnotu - jako slot je však vždy deklarovaná jako void
14 Layouty Rozmis ování prvkù GUI: Skupiny a layouty MainWindow::MainWindow() { QGridLayout * mainlayout = new QGridLayout; QGroupBox * group = new QGroupBox( "Greeting"); quitbutton = new QPushButton( "&Quit"); showbutton = new QPushButton( "&Greet me..." ); clearbutton = new QPushButton( "&Clear"); nameedit = new QLineEdit(); mainlayout->addwidget(nameedit, 0, 0); mainlayout->addwidget(clearbutton, 1, 0); mainlayout->addwidget(showbutton, 1, 1); mainlayout->addwidget(quitbutton, 1, 2); group->setlayout(mainlayout); setwindowtitle( "Qt Example" ); setcentralwidget(group);
15 Qt Designer Rozmis ování prvkù GUI: Qt Designer - aplikace Qt Designer usnadòuje tvorbu uživatelského rozhraní, spouští se /qt/4.3.3/bin/designer
16 Nápovìda Zdroje informací, pøíkladù a nápovìda - aplikace Qt Assistant obsahuje kompletní dokumentaci celé knihovny Qt s øadou pøíkladù a ukázek, spouští se /qt/4.3.3/bin/assistant - aplikace Qt Examples and Demos obsahuje ukázky, co se dá s knihovnou Qt realizovat - u každé ukázky je uveden odkaz na zdrojový kód a dokumentaci v Assistantu, spouští se /qt/4.3.3/bin/qtdemo
Uživatelská rozhraní 10. cvičení. Martin Němec A
Uživatelská rozhraní 10. cvičení Martin Němec A1047 +420 597 324 438 Úvod do Qt GUI toolkit Qt (cute) Samostatná knihovna společnosti TrollTech. Podpora platforem Windows, Linux, Mac. Vzhled i chování
Pokročilé programování v jazyce C pro chemiky (C3220) Knihovna Qt část 2
Pokročilé programování v jazyce C pro chemiky (C3220) Knihovna Qt část 2 Program rozdělený do několika souborů Zdrojový kód programů v C++ obvykle rozdělujeme do několika souborů tak aby každá větší třída
Multiplatformní GUI toolkity
Multiplatformní GUI toolkity GTK+ a Qt Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI GUI toolkit (widget toolkit) (1) = programová knihovna (nebo kolekce knihoven) implementující prvky
Vývoj multiplatformní aplikace v Qt
Vývoj multiplatformní aplikace v Qt z pohledu vývoje Datovky Karel Slaný karel.slany@nic.cz 13. 11. 2015 Obsah Co je Qt Nástroje Qt Koncepty Qt Problémy při vývoji Datovky Balíčkování aplikace Datovka
Qt na mobilních zařízeních
Qt na mobilních zařízeních Vývoj mobilní Datovky Karel Slaný karel.slany@nic.cz 24. 11. 2017 Stav projektu Datovka v roce 2016 desktopová Datovka UNIX/Linux, mac OS, Windows Od verze 4.8.1 nepodporujeme
Úvod 13 O čem je tato kniha? Pro koho je tato kniha? Jak studovat tuto knihu? Poděkování 16 Zpětná vazba od čtenářů Zdrojové kódy ke knize Errata 17
Úvod 13 O čem je tato kniha? 13 Pro koho je tato kniha? 15 Jak studovat tuto knihu? 16 Poděkování 16 Zpětná vazba od čtenářů 17 Zdrojové kódy ke knize 17 Errata 17 KAPITOLA 1 Trocha teorie na úvod 19 Něco
<surface name="pozadi" file="obrazky/pozadi/pozadi.png"/> ****************************************************************************
zdroje/zdroje.xml
Knihovna QT4 a moºnosti jejího vyuºití
Fakulta jaderná a fyzikáln inºenýrská ƒeské vysoké u ení technické v Praze 2.6.2010 Osnova 1 Úvod 2 Seznámení s Qt4 3 Prost edí QtCreator 4 Vyuºití v praxi Problém Aplikace pro ovládání realtime PCR za
KNIHOVNA QT4, PROSTŘEDÍ QTCREATOR A MOŽNOSTI JEJICH VYUŽITÍ
KNIHOVNA QT4, PROSTŘEDÍ QTCREATOR A MOŽNOSTI JEJICH VYUŽITÍ Petr Fiala, Michal Rost, Vladimír Španihel, Miroslav Virius České vysoké učení technické v Praze, Fakulta jaderná a fyzikálně inženýrská ABSTRAKT:
Paralelní výpočetní jádro matematického modelu elektrostatického zvlákňování
Paralelní výpočetní jádro matematického modelu elektrostatického zvlákňování Milan Šimko Technická univerzita v Liberci Interní odborný seminář KO MIX 19. prosince 2011 Obsah prezentace 1 MOTIVACE 2 VLÁKNOVÝ
PROGRAMOVÁNÍ V C++ CVIČENÍ
PROGRAMOVÁNÍ V C++ CVIČENÍ INFORMACE Michal Brabec http://www.ksi.mff.cuni.cz/ http://www.ksi.mff.cuni.cz/~brabec/ brabec@ksi.mff.cuni.cz gmichal.brabec@gmail.com PODMÍNKY ZÁPOČTU Základní podmínky společné
PREPROCESOR POKRAČOVÁNÍ
PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,
Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25
Programování v C# Úvodní slovo 1 / 25 Obsah přednášky Seznámení s předmětem Co je.net Vlastnosti.NET 2 / 25 Kdo je kdo Petr Vaněček vanecek@pf.jcu.cz J 502 Václav Novák vacnovak@pf.jcu.cz?? Při komunikaci
PB161 Programování v jazyce C++ Přednáška 10
.. PB161 Programování v jazyce C++ Přednáška 10 Šablony Nikola Beneš 23. listopadu 2015 PB161 přednáška 10: šablony 23. listopadu 2015 1 / 29 K zamyšlení Jaký je rozdíl mezi new int[10] a new int[10]()?
Fakulta stavební. Grafické rozhraní pro GNU Sqltutor
České vysoké učení technické v Praze Fakulta stavební Semestrální projekt letní semestr 2009 Softwarový seminář 1 (YSS1) Katedra mapování a kartografie Grafické rozhraní pro GNU Sqltutor Autoři: Zora Hořejšová,
IB111 Programování a algoritmizace. Objektově orientované programování (OOP)
IB111 Programování a algoritmizace Objektově orientované programování (OOP) OP a OOP Objekt Kombinuje data a funkce a poskytuje určité rozhraní. OP = objektové programování Vše musí být objekty Např. Smalltalk,
14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.
Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání
Bakalářská práce 2006 Tomáš Satinský
Bakalářská práce 2006 Tomáš Satinský Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně pod vedením Ing. Jana Pačivy Uvedl jsem všechny literární prameny a publikace, ze kterých jsem čerpal.
Architektura COM. Historie Component Object Model (COM) Komunikace s komponentami Rozhraní komponent COM komponenty v.net.
Architektura COM doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Historie Component Object Model (COM)
Programování v C++ 3, 3. cvičení
Programování v C++ 3, 3. cvičení úvod do objektově orientovaného programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Dokončení spojového
Abstraktní třídy, polymorfní struktury
Karel Müller, Josef Vogel (ČVUT FIT) Abstraktní třídy, polymorfní struktury BI-PA2, 2011, Přednáška 9 1/32 Abstraktní třídy, polymorfní struktury Ing. Josef Vogel, CSc Katedra softwarového inženýrství
Dědění, polymorfismus
Programování v jazyce C/C++ Ladislav Vagner úprava Pavel Strnad Dědění. Polymorfismus. Dnešní přednáška Statická a dynamická vazba. Vnitřní reprezentace. VMT tabulka virtuálních metod. Časté chyby. Minulá
Polymorfismus. Časová náročnost lekce: 3 hodiny Datum ukončení a splnění lekce: 30.března
Polymorfismus Cíle lekce Cílem lekce je vysvětlit význam pojmu polymorfismus jako základní vlastnosti objektově orientovaného programování. Lekce objasňuje vztah časné a pozdní vazby a jejich využití.
Jazyk C# (seminář 6)
Jazyk C# (seminář 6) Pavel Procházka KMI 29. října 2014 Delegát motivace Delegáty a události Jak docílit v C# funkcionální práce s metodami v C je to pomocí pointerů na funkce. Proč to v C# nejde pomocí
Embedded vývoj v Clutteru a Mx
Pavel Šimerda pavlix@pavlix.net OpenMobility 2011 Creative Commons Uved te autora 3.0 Česko Embedded Oblíbený buzzword Vestavěná zařízení (v automobilech, budovách, venkovních terminálech) Jednoúčelová
Øízený pøeklad - make
Øízený pøeklad Øízený pøeklad - make - nástroj make je pùvodnì UNIXový pomocný vývoj. nástroj vzniklý v AT&T asi 1975 - úèel: zjednodušit a zautomatizovat pøeklad a sestavování (linking) vìtších projektù,
1. Programování proti rozhraní
1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní
1 - Úvod do platformy.net. IW5 - Programování v.net a C#
1 - Úvod do platformy.net IW5 - Programování v.net a C# Strana 1 Obsah přednášky Objektově orientované paradigma.net Framework Základní rysy jazyka C# Strana 2 Objektová orientace C# implementuje základní
IUJCE Přednáška č. 11. další prvky globální proměnné, řízení viditelnosti proměnných, funkcí
Velké projekty v C velký = 100ky a více řádek udržovatelnost, bezpečnost, přehlednost kódu rozdělení programu do více souborů další prvky globální proměnné, řízení viditelnosti proměnných, funkcí Globální
Matematika v programovacích
Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?
PB161 Programování v jazyce C++ Přednáška 7
PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z
PB161 Programování v jazyce C++ Přednáška 7
PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z
Programování v C++ První kroky
Programování v C++ První kroky Karel Mozdřeň 29. října 2009 1 Obsah 1 Úvod 5 1.1 Pro koho je kniha určena...................... 5 1.2 Proč první kroky?.......................... 5 2 Začínáme 6 2.1 Hello,
Generické programování
Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =
Programování v C++ 2, 8. cvičení
Programování v C++ 2, 8. cvičení návrhový vzor iterátor 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí minule procvičené látky
Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.
1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými
Principy objektově orientovaného programování
Principy objektově orientovaného programování Třídy a objekty doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz C E T
Více o konstruktorech a destruktorech
Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení
PB161 Programování v jazyce C++ Přednáška 10
PB161 Programování v jazyce C++ Přednáška 10 Šablony Nikola Beneš 27. listopadu 2017 PB161 přednáška 10: šablony 27. listopadu 2017 1 / 33 Šablony PB161 přednáška 10: šablony 27. listopadu 2017 2 / 33
Jazyk C++ II. Šablony a implementace
Jazyk C++ II Šablony a implementace AR 2013/2014 Jazyk C++ II Úvod Dědičnost a kompozice nejsou vždy tou správnou odpovědí na požadavky znovupoužitelnosti kódu. Proto máme možnost definování určité třídy
Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15
Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové
GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím
GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
Programování v Javě I. Leden 2008
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
Objektově orientované programování v jazyce Python
Objektově orientované programování v jazyce Python Co to je objektově orientované programování Python není přímo objektově orientovaný jazyk, ale podporuje nejdůležitější části objektově orientovaného
Programování v C++ 1, 6. cvičení
Programování v C++ 1, 6. cvičení dědičnost, polymorfismus 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 3 Shrnutí minule procvičené
Jazyk C# (seminář 3)
Jazyk C# (seminář 3) Pavel Procházka KMI October 8, 2014 Motivace Největší využití v programování okenních aplikací a GUI knihoven. Data reprezentujeme pomocí objektů (tříd), máme tedy ucelený pohled na
Úvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
Programování v Javě I. Únor 2009
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory
Struktura třídy, operátory, jednoduché algoritmy, junit. Programování II 2. cvičení Alena Buchalcevová
Struktura třídy, operátory, jednoduché algoritmy, junit 2. cvičení Alena Buchalcevová Cíle cvičení seznámit se s rozhraním (interface) v Javě seznámit se s testováním při vývoji (makety, JUnit) naučit
Dědičnost. seskupování tříd do hierarchie. potomek získá všechny vlastnosti a metody. provádí se pomocí dvojtečky za názvem třídy.
3. ročník Dědičnost seskupování tříd do hierarchie nadtyp-podtyp potomek získá všechny vlastnosti a metody kromě označených jako private provádí se pomocí dvojtečky za názvem třídy Polymorfismus všude
Objektově orientované programování v jazyce Python
Objektově orientované programování v jazyce Python Základní pojmy objektově orientovaného programování Objekt vychází z reálného světa. Má dva charakteristické rysy. Všechny objekty mají stav Všechny objekty
Vzdálený přístup k počítačům
Vzdálený přístup k počítačům jedna z nejstarších služeb vzdálený přístup k sálovým počítačům nejprve vzdálené terminály později terminálová emulace jako jedna ze služeb počítačové sítě současnost využíváno
PB161 Programování v jazyce C++ Přednáška 9
PB161 Programování v jazyce C++ Přednáška 9 Právo friend Přetěžování operátorů Nikola Beneš 16. listopadu 2015 PB161 přednáška 9: friend, přetěžování operátorů 16. listopadu 2015 1 / 30 Reklama PB173 Tematicky
Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky
Google Web Toolkit Martin Šurkovský, SUR096 Vysoká škola Báňská - Technická univerzita Ostrava Katedra informatiky 29. března 2010 Martin Šurkovský, SUR096 (VŠB - TUO) Google Web Toolkit 29. března 2010
Dědičnost. Časová náročnost lekce: 3 hodiny Datum ukončení a splnění lekce: 23.března
Dědičnost Cíle lekce Cílem lekce je naučit se pracovat a využívat dědičnosti při návrhu a tvorbě programů. Lekce je zaměřena hlavně na jednoduchou dědičnost. Bude rovněž vysvětlen rozdíl mezi dědičností
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
Vytváření a použití knihoven tříd
Vytváření a použití knihoven tříd doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Prostory jmen motivace spolupráce
Jazyk C++ I. Šablony 2
Jazyk C++ I Šablony 2 AR 2013/2014 Jazyk C++ I Třídy template class TVektor { T *a; int n; static int PocInstanci; public: TVektor(int _n = 0) : n(_n) { a = new T[n]; PocInstanci++; } ~TVektor()
PB161 Základy OOP. Tomáš Brukner
PB161 Základy OOP Tomáš Brukner Sylabus - Co je to OOP? Jaké jsou základní principy OOP? Jak se projevují v C++? https://cs.wikipedia.org/wiki/strahovská_knihovna SELECT * FROM books WHERE pages < 250
Dynamicky vázané metody. Pozdní vazba, virtuální metody
Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:
UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/
UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok
Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní
Základy jazyka C# doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Architektura.NET Historie Vlastnosti
IRAE 07/08 Přednáška č. 7. Začátek (head)
Fronta (Queue) FIFO First In First Out (první dovnitř první ven) Vložení položky (Enqueue) Vyjmutí položky (Dequeue) Přidávání prvků Konec (Tail) Začátek (head) na jedné straně (konec) Odebírání prvků
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
Programování v C++ 1, 5. cvičení
Programování v C++ 1, 5. cvičení konstruktory, nevirtuální dědění 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 3 Shrnutí minule procvičené
Jazyk C++ I. Polymorfismus
Jazyk C++ I Polymorfismus AR 2013/2014 Jazyk C++ I Operátory Co to vůbec jsou operátory? Na co je používáme? AR 2013/2014 Jazyk C++ I 2 Operátory Můžeme si upravit operátory pro vlastní objektové typy?
Funkční objekty v C++.
Funkční objekty v C++. Funkční objekt je instance třídy, která má jako svou veřejnou metodu operátor (), tedy operátor pro volání funkce. V dnešním článku si ukážeme jak zobecnit funkci, jak používat funkční
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÝCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS EDITOR VIDEA BAKALÁŘSKÁ
Programování v C++ 1, 1. cvičení
Programování v C++ 1, 1. cvičení opakování látky ze základů programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí procvičených
PB161 Programování v jazyce C++ Přednáška 4
PB161 Programování v jazyce C++ Přednáška 4 Přetěžování funkcí Konstruktory a destruktory Nikola Beneš 9. října 2017 PB161 přednáška 4: přetěžování funkcí, konstruktory, destruktory 9. října 2017 1 / 20
Obsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth
Evropský sociální fond. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace Ing. Ondřej Guth Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze
Doxygen. Jakub Břečka
Doxygen Jakub Břečka Úvod Proč a typy dokumentace na přednášce Programátorská dokumentace (popis implementace, tříd, funkcí, API) Doxygen, JavaDoc, Sandcastle, AppleDoc, Doxygen = klasika mezi dokumentačními
7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd
7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd Algoritmizace (Y36ALG), Šumperk - 7. přednáška 1 Třída jako zdroj funkcionality Třída v jazyku Java je programová jednotka tvořená
2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
Mělká a hluboká kopie
Karel Müller, Josef Vogel (ČVUT FIT) Mělká a hluboká kopie BI-PA2, 2011, Přednáška 5 1/28 Mělká a hluboká kopie Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky, Fakulta
typová konverze typová inference
Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
IUJCE 07/08 Přednáška č. 1
Úvod do předmětu Literatura Záznamy přednášek a vaše poznámky Harbison, S. P., Steele, G. L.: Referenční příručka jazyka C Herout, P.: Učebnice jazyka C Kernighan, B. W., Ritchie, D. M.: The C Programming
Distribuované systémy a výpočty
Distribuované systémy a výpočty X36DSV Jan Janeček XML-RPC jednoduchá definice www.xmlrpc.com implementace obvykle opřené o XML parser X36DSV - Distribuované systémy a výpočty (3) 2 XML-RPC jednoduché
Práce s knihovnami. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016
Práce s knihovnami Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016 Programování v C++, A7B36PJC 04/2016, Lekce 7 https://cw.fel.cvut.cz/wiki/courses/a7b36pjc/start
Programování v C++ 2, 4. cvičení
Programování v C++ 2, 4. cvičení statické atributy a metody, konstruktory 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Přístupová práva
Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody
Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody Dynamická alokace paměti Jazyky C a C++ poskytují programu možnost vyžádat si část volné operační paměti pro
Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace
Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 26. 2. 2019 Webové aplikace PHP OOP, PHP a databáze, migrace DB, ORM, šablony, MVC/MVP, PHP frameworky strana 2 PHP skriptovací jazyk dynamicky typovaný interpret
Bridge. Známý jako. Účel. Použitelnost. Handle/Body
Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době
přetížení operátorů (o)
přetížení operátorů (o) - pro vlastní typy je možné přetížit i operátory (tj. definovat vlastní) - pro definici slouží klíčové slovo operator následované typem/znakem operátoru - operátor je speciální
Jazyk C++ II. Výjimky
Jazyk C++ II Výjimky AR 2013/2014 Jazyk C++ II Funkce abort Dříve byl obvyklý způsob zavolat metodu abort(). Metoda provádí okamžitě: Vyprázdnění vyrovnávací paměti, Ukončení celého programu, Vrátí číslo
ANT. Aplikační programování v Javě (BI-APJ) - 1 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha
ANT Aplikační programování v Javě (BI-APJ) - 1 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Preprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016
Preprocesor Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016 Programování v C++, A7B36PJC 4/2016, Lekce 9b https://cw.fel.cvut.cz/wiki/courses/a7b36pjc/start
Vstupní a vstupní proudy v C++
Programovací jazyk C++ MZLU - PEF - Ústav informatiky 11. října 2007 Vstup na terminál a čtení z něj Používá se knihovna iostream. Pro výstup lze použít standardní výstup cout. nebo chybový výstup cerr.
PB161 Programování v jazyce C++ Přednáška 5
PB161 Programování v jazyce C++ Přednáška 5 Jmenné prostory Vstupní/výstupní proudy Nikola Beneš 19. října 2015 PB161 přednáška 5: jmenné prostory, vstupní/výstupní proudy 19. října 2015 1 / 29 Jmenné
NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
NetBeans platforma Aplikační programování v Javě (BI-APJ) - 7 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme
24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1
24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE
Základy objektové orientace I. Únor 2010
Seminář Java Základy objektové orientace I Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Základy OO (1) 1/ 20 Téma přednášky Charakteristika objektově orientovaných
3. Základy programovacího jazyka Java
3. Základy programovacího jazyka Java Programovací jazyk Java nese označení jazyk 3.v generace 3GL, kde označeni 3 označuje imperativní jazyk vysoké úrovně. Tento jazyk se vyznačuje vysokou mírou univerzálnosti,
David Bednárek Jakub Yaghob Filip Zavoral. http://data.ksi.ms.mff.cuni.cz/svn/nprg051pub/html/nprg051.html
David Bednárek Jakub Yaghob Filip Zavoral http://data.ksi.ms.mff.cuni.cz/svn/nprg051pub/html/nprg051.html Interoperabilita C++ a C, dll, C++ a.net, C++/CLI Nové normy a knihovny C++11/14/17, lambda výrazy,
MATURITNÍ PRÁCE dokumentace
MATURITNÍ PRÁCE dokumentace Jídelníček SŠIEŘ pro Android Martin Bartoň školní rok: 2012/2013 obor: třída: Počítačové systémy PS4.A ABSTRAKT Práce je zaměřená na problematiku tvorby Android aplikací,
VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632