Qt - podstawowe cechy

Podobne dokumenty
Qt - dialogi. Bogdan Kreczmer. ZPCiR ICT PWR pokój 307 budynek C3

Qt sygnały i designer

Praca z aplikacją designer

Qt - edycja, obsługa zdarzeń, rozmieszczenie kontrolek

Programowanie w środowiskach RAD Qt i C++

Qt sygnały i sloty. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska

Aplikacja po polsku. Bogdan Kreczmer. ZPCiR ICT PWr pokój 307 budynek C3.

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

The Graphics View Framework. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 5. he Graphics View Framework - architektura

Wprowadzenie do szablonów szablony funkcji

Programowanie w środowiskach RAD QtCreator, Qt i C++

Wprowadzenie do szablonów szablony funkcji

Wartości domyślne, przeciażenia funkcji

Przykłady oprogramowania wykorzystujacego Qt

Wartości domyślne, przeciażenia funkcji

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

Mechanizm sygnałów i slotów. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4. Sygnały i sloty - definicja klasy

Referencje do zmiennych i obiektów

Lista dwukierunkowa - przykład implementacji destruktorów

Programowanie, część III

Szablony funkcji i szablony klas

Operacje wejścia/wyjścia odsłona pierwsza

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Pola i metody statyczne

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Signals + Threads: Qt vs. Boost

Qt hierarchia elementów graficznych

Wyliczanie wyrażenia obiekty tymczasowe

Wprowadzenie do tworzenia zaawansowanych interfejsów graficznych: QGraphics View Framework vs. QML. Jakub Bogacz. Patryk Górniak

Wprowadzenie do szablonów klas

Weryfikatory, zasoby graficzne

Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+

Operacje wejścia/wyjścia (odsłona druga) - pliki

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Podstawy Programowania Obiektowego

Konstruktor kopiujacy

Podstawy programowania w Qt4

Zaawansowane programowanie w C++

Sprawozdanie z wykonania projektu Dalmierz optyczny

Szablon klasy std::vector

Podejście obiektowe - podstawowe pojęcia

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Zasoby, pliki graficzne

Qt po polsku. Bogdan Kreczmer.

Rok akademicki: 2014/2015 Kod: MIO s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

X Window System (I) Oprogramowanie i wykorzystanie stacji roboczych. Wykład 1. X Window System (III) X Window System (II)

System X Window (I) Oprogramowanie i wykorzystanie stacji roboczych. Wykład 3. System X Window (III) System X Window (II)

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 3

Przesłanianie nazw, przestrzenie nazw

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Programowanie obiektowe

Szablon klasy std::list

Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne

Składnia C++ Programowanie Obiektowe Mateusz Cicheński

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Style programowania - krótki przeglad

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Style programowania - krótki przeglad

Programowanie II. Lista 3. Modyfikatory dostępu plik TKLientBanku.h

Klasa, metody, rozwijanie w linii

TEMAT : KLASY POLIMORFIZM

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Programowanie 2. Język C++. Wykład 3.

Enkapsulacja, dziedziczenie, polimorfizm

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C

Język Java część 2 (przykładowa aplikacja)

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Multimedia JAVA. Historia

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Zaawansowane programowanie w języku C++ Programowanie obiektowe

Klasa, metody, rozwijanie w linii

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Język Java część 2 (przykładowa aplikacja)

Programowanie obiektowe w języku C++ Zarządzanie procesami. dr inż. Jarosław Forenc. Przeładowanie (przeciążanie) operatorów

Składnia C++ Programowanie Obiektowe Mateusz Cicheński

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Szablony klas, zastosowanie szablonów w programach

Język programowania. Andrzej Bobyk

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

Programowanie (C++) NI 5

Projektowanie klas c.d. Projektowanie klas przykład

Architektura interfejsu użytkownika

Wprowadzenie do programowania i programowanie obiektowe

Swing Application Framework czyli tam i z powrotem. Copyright Piotr Kochański & Erudis,

Doxygen. Bogdan Kreczmer. ZPCiR ICT PWr pokój 307 budynek C3.

Podstawy Informatyki Wykład V

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

ROZDZIAŁ I. BUDOWA I FUNKCJONOWANIE KOMPUTERA PC

Języki i metody programowania Java. Wykład 2 (część 2)

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

Języki i metody programowania Java INF302W Wykład 2 (część 1)

Przestrzenie nazw. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Transkrypt:

Qt - podstawowe cechy Bogdan Kreczmer ZPCiR ICT PWR pokój 307 budynek C3 kreczmer@ict.pwr.wroc.pl Copyright c 2003 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego. Jest on udostępiony pod warunkiem wykorzystania wyłącznie do własnych prywatnych potrzeb i może on być kopiowany wyłącznie w całości, razem

Rozszerzenia C++ dla Qt Przykład definicji klasy dla C++ class BardzoProstaKlasa { private: int Wartosc; public: BardzoProstaKlasa(); int pobierzwartosc() const { return Wartosc; } void wstawwartosc( int ); }; Przykład definicji klasy dla Qt class BardzoProstaKlasa z Qt : public QObject { Q OBJECT private: int Wartosc; public: BardzoProstaKlasa z Qt(); int pobierzwartosc() const { return Wartosc; } public slots: void wstawwartosc( int ); signals: void zmianawartosci( int ); };

Emisja sygnału void BardzoProstaKlasa::wstawWartosc( int NowaWartosc ) { if ( Wartosc!= NowaWartosc ) emit zmianawartosci( Wartosc = NowaWartosc ); } BardzoProstaKlasa Obiekt A, Obiekt B; connect( &ObiektA, SIGNAL( zmianawartosci(int) ), &ObiektB, SLOT( wstawwartosc(int) ) ); Obiekt B.wstawWartosc( 11 ); // Emisja sygnału do... Obiekt A.wstawWartosc( 79 ); // Emisja sygnału do obiektu B Obiekt B.pobierzWartosc(); // Zamiast 11 jest 79 Obiekt B.wstawWartosc( 11 ); // Emisja sygnału do... Obiekt A.pobierzWartosc(); // Tutaj wciaz jest 79

Konstrukcja typu CALLBACK Przycisk Funkcja Obslugi Zdarzenia Rys. 1. Powiązanie obiektu z jedną funkcją obsługującą zdarzenia dostępne poprzez dany obiekt. Poglaskaj Uderz Uderz mocno Daj spokoj i tak juz mu nic nie pomoze Przycisk Funkcja Obslugi Zdarzenia Rys. 2. Parametry przekazywane wraz ze zdarzeniem pozwalają na jego identyfikacje i właściwy dobór akcji.

Idea tworzenia polaczeń Rys. 1. Każde z istniejących połączeń nie zależy od żadnego innego połączenia. Przycisk Rys. 2. Przesłanie sygnału wiąże się z zainicjowaniem akcji dla obiektu, do którego wysłany został sygnał.

Przeglad podstawowych klas biblioteki Qt KOMPONENTY FINALNE GUI Klasy aplikacji, Kontrolki (Widgets), Dialogi, Zarzadzanie geometria obiektów. KOMPONENTY BAZOWE GUI Kontrolki abstrakcyjne, Klasy operacji rysowania, Klasy czcionek, Jadro, Inne przydatne klasy. KOMPONENTY POMOCNICZE (ang. Utilities) Ogólne klasy narzędzi, Klasy operacji I/O, Klasy operacji na obrazach, Klasy daty i czasu.

Wybrane komponenty finalne KLASY APLIKACJI GUI (Graficznego Interfejsu Użytkownika) QMainWindow : Typowe okno z menu, listwa narzędziową, i listwa statusu, QMenuBar : Horyzontalna listwa menu, QStatusBar : Horyzontalna listwa komunikatow, QToolBar : Listwa narzędziowa, QToolTip : Narzędzia do dymków, QWhatsThis : Narzędzia dla podpowiedzi. KONTROLKI QButtonGroup: Tworzenie grupy klawiszy, QFrame : Bazowa klasa kontrolek, QListBox : Przewijana lista jednokolumnowa, QSlider : Horyzontalne i wertykalne suwaki, DIALOGI QDialog : Bazowa klasa okna dialogowego, QFileDialog : Dialog dla nazwy pliku, QMessageBox : Krótki komunikat i kilka klawiszy, QProgressDialog: Wizualizacja stopnia zaawansowania, ZARZADZANIE GEOMETRIA OBIEKTÓW QBoxLayout : Układa potomne kontrolki w rzędach lub kolumnach, QGridLayout : Układa kontrolki w zadanej kracie,

Wybrane komponenty bazowe KONTROLKI ABSTRAKCYJNE QButton QMenuBar QFrame QTableView QWidget : Bazowa klasa dla przycisku, : Horyzontalna listwa menu, : Klasa bazowa kontrolki z opcjonalna obwodka, : Klasa bazowa dla tabel, : Klasa bazowa wszystkich kontrolek. KLASY OPERACJI RYSOWANIA QBitmap QBrush QPixmap QPainter : Monochromatyczna mapa pikselowa, : Definiuje wzorzec wypełniania, : Mapa pikselowa, : Realizuje właściwe rysowanie KLASY CZCIONEK QFont QFileInfo : Wyznacza czcionkę do rysowania, : Ogólna informacja o czcionce. JADRO QAccel : Obsługa akcelelatorów (skrótów), QApplication: Zarzadza kolejka zdarzeń, QObject : Klasa bazowa dla klas Qt majacych dostęp do sygnałów, slotów i zdarzeń. INNE PRZYDATNE KLASY QIconSet : Zbiór ikon (np. dla klawiszy), QRangeControl: Kontrola zakresu dla liczb całkowitych.

Wybrane komponenty pomocnicze OGÓLNE KLASY NARZEDZI QArray QList QQueue QString : Wzorzec tablicy dla typów prostych, : Wzorzec listy dwukiernkowej, : Wzorzec kolejki, : Klasa ciagów znakowych. KLASY OPERACJI I/O QFile QIODevice QImageIO : Operacje na plikach, : Operacje na urzadzeniach I/O, : Zawiera parametry dla operacji wczytywania i zapisu obrazów, QSocketNotifier: Wspmaga połaczenia poprzez gniazdka KLASY OPERACJI NA OBRAZACH QImage QMovie : Mapa pikselwa sprzętowo niezależna z bezpośrednim dostępem do pikseli, : Wspomaganie animacji (ładowanie obrazów po określonej przerwie). KLASY DATY I CZASU QData QTime QTimer : Obsługa odczytu daty, : Obsługa odczytu czasu, : Generowanie periodycznych sygnałów.

Najprostszy program w Qt #include qapplication.h #include qmessagebox.h int main( int argc, char argv ) { QApplication app( argc, argv ); QMessageBox Message("Wazne pytanie","byc albo nie byc?", QMessageBox::Critical, QMessageBox::Yes, QMessageBox::No,0); return Message.exec(); }