Uživatelská rozhraní Uživatelská rozhraní. knihovna Qt Trolltech (1994) v Oslu (Norsko) vytváří grafické uživatelské rozhraní (GUI) pro C++ multi-platformová.

Slides:



Advertisements
Podobné prezentace
ÚVOD DO C++ 3 TŘÍDY a objekty - POKRAČOVÁNÍ
Advertisements

Vývoj aplikací s využitím JavaFX
Seminář C++ 5. cvičení Dědičnost Ing. Jan Mikulka.
Funkce Připomeňme si program pro výpočet faktoriálu:
Stručný průvodce vytvářením GUI v C++/Qt
P ROJEKT A PLIKACE VÝVOJOVÝCH TECHNIK V YUŽITÍ QT PORTU PRO A NDROID APLIKACE MONITORUJÍCÍ SÍŤOVÁ ROZHRANÍ Autor: Jan Dvořan.
Proxy. Definice  zástupce nebo náhradník za dotyčný objekt  proxy i zastoupený objekt dědí od stejného interfacu  proxy kontroluje přístup k objektu.
Počítače a programování 2 Přednáška Jiří Šebesta.
Pole, ukazatele a odkazy
BLIŽŠÍ POHLED NA TŘÍDY, DĚDIČNOST - úvod
Uživatelská rozhraní Uživatelská rozhraní 9. cvičení.
Singleton 1 1.
C++ Přednáška 3 Konstantní a statické členy tříd, ukazatel this, konstantní instance třídy Ing. Jiří Kulhánek , kat. 352, VŠB TU Ostrava 2004.
Preprocess Úvod do tvorby funkcí Princip preprocesoringu Direktivy preprocesoru Podmíněný překlad Základy tvorby funkcí Zjednodušený popis principu předávaní.
C# pro začátečníky Mgr. Jaromír Osčádal
Programování v C++ Cvičení.
● SWIG - Simplified Wrapper and Interface Generator ● + google a diskusní fóra ● nástroj zjednodušující (a sjednocující)
Čtvrté cvičení Objektové programování Objektový model v Javě
Chain of responsibility Martin Malý prezentace na předmět Návrhové vzory (PRG024) na MFF UK
Páté cvičení Dědičnost Interface Abstarktní třídy a metody
Ing. Josef Veselý Označení šablony a vzdělávací sady viz.rozpis.
Seminář C cvičení Obsluha výjimek Ing. Jan Mikulka.
PRÁCE S VLÁKNY A APLIKAČNÍ DOMÉNY V.NET FRAMEWORK APLIKACÍCH Architektura technologie.NET Jan Martinovič, FEI - Katedra Informatiky.
Seminář C++ 4. cvičení Objekty Ing. Jan Mikulka. Co je objekt ► obraz třídy i instance ► třída – definovaná za pomocí klíčového slova class ► instance.
Dependency injection Předávání závislostí Petr Kalivoda
6. cvičení Polymorfismus
A1PRG - Programování – Seminář Ing. Michal Ukazatele a pole 10 Verze
Memento. Obnovení operačního systému ( Windows | Linux...) Všichni víme, co jsou transekce v databázi Memento – zálohování databáze.
Čísla Desetinná čísla. čísla desetinná se v PC ukládají jiným způsobem než čísla celá – výpočty s nimi provádí dvě odlišné části procesoru při výpočtech.
OSNOVA: a)Programování se soubory b)Záloha databáze v souboru c) Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování.
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
OSNOVA: a) Úvod do OOPb) Třídy bez metod c) Třídy s metodamid) Konstruktory a destruktory e) Metody constf) Knihovní třídy g) Třídy ve tříděh) Přetížení.
Příklady v jazyku C – část 3
C# - předávání parametrů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
IB111 Programování a algoritmizace
OSNOVA: a) Přetížení členských funkcí b) Dědičnost tříd Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování 2 pro obor EST BPC2E.
Copyright (C) 1999 VEMA počítače a projektování, spol. s r.o.
Vývoj Android Aplikace
Uživatelská rozhraní Uživatelská rozhraní 3. cvičení.
Netrvaloppa21 Vytvořte třídu Student pro reprezentaci struktury student na ZČU. Atributy třídy budou fakulta a osobniCislo. Název třídy: Student proměnné.
Abstract Factory. Abstract Factory – úvod Situace  potřebujeme vytvářet objekty ze skupiny souvisejících nebo na sobě závislých tříd  2 „druhy“ GUI.
Microsoft SQL server Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Windows Presentation Foundation Ovládací prvky. Ovládací prvky Všechny standardní prvky jsou dostupné a některé nové Třídy jsou společné pro WPF System.Windows.Controls,
Soubory BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky © Miroslav Balík Fakulta informačních technologií České vysoké.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
Pokročilé datové typy (struktury, unie, dynamické proměnné)
Funkce Přednáška č. 5. Funkce (functions)  posloupnost příkazů uvedená hlavičkou  využití – opakovaně volaná sekvence – strukturování programu – ošetření.
Uživatelská rozhraní Cvičení 12a Martin Němec A
Uživatelská rozhraní Uživatelská rozhraní 4. cvičení.
Uživatelská rozhraní Uživatelská rozhraní 10. cvičení Martin Němec A
Maemo 5 Představení vývojové platformy Jaroslav Řezník.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA: Objektově orientované.
GTK+ - Úvod ● ● Multiplatformní toolkit pro tvorbu GUI, nabýzí komplexní sadu widgetů pro projekty libovolné velikosti ● Free software,
Počítače a programování 2
Y36PJC Programování v jazyce C/C++
Vývoj mobilních aplikací a jejich výhody
Výukový materiál zpracován v rámci projektu
Bc. Vladimír Holubec Bc. Nikola Němcová
Instalace Javy ( pro Windows )
Y36PJC Programování v jazyce C/C++
Decorator Radek Zikmund NPRG024, LS 2016/17.
Výukový materiál zpracován v rámci projektu
Návrhový vzor Flyweight
Počítače a programování 2 pro obor EST BPC2E PŘEDNÁŠKA 3
Internetové publikování Dynamické HTML
Abstract Factory.
Bridge.
C# přehled vlastností.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
Transkript prezentace:

Uživatelská rozhraní Uživatelská rozhraní

knihovna Qt Trolltech (1994) v Oslu (Norsko) vytváří grafické uživatelské rozhraní (GUI) pro C++ multi-platformová GUI C++ knihovna, určena pro vývoj aplikací (Unix/X, Windows) Signály a sloty Meta Object Compiler – MOC Aktuálně

Knihovna Qt Hlavní stránky Dokumentace

Qt Creator

Layout QFormLayout lays QHBoxLayout QVBoxLayout QGridLayout

Ukázky #include int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton *button = new QPushButton("Quit"); QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit())); button->show(); return app.exec(); }

#include int main(int argc, char *argv[]){ QApplication app(argc, argv); // hlavni okno aplikace Qwidget *window = new QWidget; window->setWindowTitle("Example"); QPushButton *prvni = new QPushButton("Prvni"); QPushButton *druhy = new QPushButton("Druhy"); // propojeni signalu a slotu connect(prvni, SIGNAL(clicked()), &app, SLOT(stiskPrvni(int))); QHBoxLayout *layout = new QHBoxLayout; // horizontalni rozmisteni komponent v okne aplikace layout->addWidget(prvni); layout->addWidget(druhy); window->setLayout(layout); window->show(); return app.exec(); }

Signály a sloty

class Priklad1 { public: Priklad1(); // konstruktor int hodnota() const { return _hodnota; } void nastavHodnotu( int ); private: _hodnota val; };

Signály a sloty class Priklad1 : public QObject { Q_OBJECT public: Foo(); int hodnota() const { return _hodnota; } public slots: void nastavHodnotu( int ); signals: void hodnotaZmenena(int); private: int _hodnota; };

Signály a sloty void Priklad1::nastavHodnotu( int h ) { if ( h != _hodnota ) { _hodnota = h; emit hodnotaZmenena(h); } // signál: hodnotaZmenena

Signály a sloty Priklad1 a, b; // definice dvou objektu dedicich z QObject //prirazeni signalu connect(&a, SIGNAL(hodnotaZmenena(int)), &b, SLOT(nastavHodnotu(int))); b.nastavHodnotu( 11 ); // a == není definováno b == 11 a.nastavHodnotu( 79 ); // a == 79 b == 79 b.hodnota();

Meta Object Compiler-MOC Vytváření provázání mezi C++ a knihovou QT MOC soubory provádí inicializaci a převod meta objektů, zpracovává např. základní informace o objektech, jménech signálů a slotů, apod. musí být zkompilován společně s ostatními soubory v projektu. soubor.h moc_soubor.cpp moc calculator.h –o moc_calculator.cpp projekt v MS Visual Studiu 2005

Použití QString v Qt QString s = display->text(); display->setText((QString) &c);

Náplň cvičení: Vytvořte převodník teplot

Použitá literatura Dokumentace ke knihovně Qt :

Obrázek QString *imgFilename = new QString( "soubor.png" ); QPixmap *imgPixmap = new QPixmap( *imgFilename ); QLabel *obr = new QLabel; obr->setPixmap( *imgPixmap ); hbox->addWidget( obr );

Prosím, dopracujte opět funkčnost a vzhled. Projekt si můžete libovolně rozšířit. Děkuji za pozornost.