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

Podobne dokumenty
Qt sygnały i designer

Wprowadzenie do szablonów klas

Praca z aplikacją designer

Schemat konstrukcja pliku Makefile

Szablony funkcji i szablony klas

Czujniki PSD i dalmierze triangulacyjne

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

Weryfikatory, zasoby graficzne

Zasoby, pliki graficzne

Dalmierze optyczne. Bogdan Kreczmer.

Czujniki PSD i dalmierze triangulacyjne

Wprowadzenie do szablonów szablony funkcji

Wprowadzenie do szablonów szablony funkcji

Wyjątki. Wyjątki. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

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

Pola i metody statyczne

Wartości domyślne, przeciażenia funkcji

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

Wartości domyślne, przeciażenia funkcji

OpenGL oświetlenie. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska

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

Signals + Threads: Qt vs. Boost

Referencje do zmiennych i obiektów

Qt - podstawowe cechy

Dziedziczenie i poliformizm

Wyliczanie wyrażenia obiekty tymczasowe

Wprowadzenie do UML, przykład użycia kolizja

Lista dwukierunkowa - przykład implementacji destruktorów

GStreamer. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

Diagramy UML, przykład problemu kolizji

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

Programowanie w środowiskach RAD Qt i C++

Przesłanianie nazw, przestrzenie nazw

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

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

Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce

Szablon klasy std::list

Powłoki systemu operacyjnego i intepretery

Qt po polsku. Bogdan Kreczmer.

Szablon klasy std::vector

Konstruktor kopiujacy

Zaawansowane programowanie w C++ (PCP)

Geneza powstania języka C++

Klasa, metody, rozwijanie w linii

Wartości domyślne, szablony funkcji i klas

Geneza powstania języka C++

Hermetyzacja oraz pola i metody statyczne

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Klasa, metody, rozwijanie w linii

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

Język C++ wykład VII. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VII. dr Jarosław Mederski. Spis.

Co nie powinno być umieszczane w plikach nagłówkowych:

Programowanie obiektowe w języku C++ dr inż. Jarosław Forenc

Programowanie w C++ Wykład 14. Katarzyna Grzelak. 3 czerwca K.Grzelak (Wykład 14) Programowanie w C++ 1 / 27

Zofia Kruczkiewicz, ETE8305_2 1

Style programowania - krótki przeglad

Algorytmy i Struktury Danych. Anna Paszyńska

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

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

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3

Programowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27

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

Programowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30

Wykład 1

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

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30

Organizacja kursu, paradygmaty, ogólnie o C i C++

Rzutowanie i konwersje

Podstawy i języki programowania

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Geneza C++, manipulatory

Szablony funkcji i klas (templates)

TEMAT : KLASY POLIMORFIZM

PARADYGMATY PROGRAMOWANIA Wykład 4

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Enkapsulacja, dziedziczenie, polimorfizm

Zaawansowane programowanie w języku C++ Klasy w C++

Dia rysowanie diagramów

dr inż. Jarosław Forenc

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

Programowanie obiektowe w C++ Wykład 12

Programowanie w języku C++

FUNKCJE WZORCOWE. Wykład 10. Programowanie Obiektowe (język C++) Funkcje wzorcowe wprowadzenie (2) Funkcje wzorcowe wprowadzenie (1)

PARADYGMATY PROGRAMOWANIA Wykład 3

Język C++ wykład VI. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VI. dr Jarosław Mederski.

Obiekty i metody stałe

Języki i paradygmaty programowania

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

Preprocesor języka C

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

Język C++ wykład VIII

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

Plik klasy. h deklaracje klas

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

Programowanie obiektowe Wykład 6. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14

Style programowania - krótki przeglad

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 7 maja K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31

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

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

Transkrypt:

Qt sygnały i sloty Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania obiektowego. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych prywatnych potrzeb i może on być kopiowany wyłącznie w całości, razem z niniejszą stroną tytułową. Qt sygnały i sloty

Niniejsza prezentacja została wykonana przy użyciu systemu składu L A TEX oraz stylu beamer, którego autorem jest Till Tantau. Strona domowa projektu Beamer: http://latex-beamer.sourceforge.net Qt sygnały i sloty

1 Reakcja na zadarzenia Podstawowe mechanizmy 2 Qt sygnały i sloty

Sposoby reakcji na zdarzenia Podstawowe mechanizmy Metody wirtualne reimplementacja metod poprzez dziedzieczenie. Możliwa tylko we własnych klasach pochodnych. Sygnały i sloty łączenie akcji z reakcją. Można łączyć gotowe elementy bez jakichkolwiek modyfikacji.

Sygnały i sloty Reakcja na zadarzenia Zawartość pliku kanwa.hh: #ifndef KANWA HH #define KANWA HH #include <QWidget > Q OBJECT public slots : signals: #endif

Wywołanie preprocesora języka C Polecenie: g++ -E -I/usr/include/qt5 \ -I/usr/include/qt5/QtCore \ -I/usr/include/qt5/QtGui \ -I/usr/include/qt5/QtWidgets kanwa.hh

Po rozwinięciu czym jest Q OBJECT template <typename T> inline void qt check for QOBJECT macro(const T & q argument) const { int i = qyouforgottheq OBJECT Macro(this, & q argument); i = i; } static const QMetaObject staticmetaobject; virtual const QMetaObject metaobject() const ; virtual void qt metacast(const char ); static inline QString tr(const char s, const char c = 0) { return staticmetaobject.tr(s, c); } static inline QString trutf8(const char s, const char c = 0) { return staticmetaobject.trutf8(s, c); } static inline QString tr(const char s, const char c, int n) { return staticmetaobject.tr(s, c, n); } static inline QString trutf8(const char s, const char c, int n) { return staticmetaobject.trutf8(s, c, n); } virtual int qt metacall(qmetaobject::call, int, void );

Po rozwinięciu czym jest Q OBJECT template <typename T> inline void qt check for QOBJECT macro(const T & q argument) const { int i = qyouforgottheq OBJECT Macro(this, & q argument); i = i; } static const QMetaObject staticmetaobject; virtual const QMetaObject metaobject() const ; virtual void qt metacast(const char ); static inline QString tr(const char s, const char c = 0) { return staticmetaobject.tr(s, c); } static inline QString trutf8(const char s, const char c = 0) { return staticmetaobject.trutf8(s, c); } static inline QString tr(const char s, const char c, int n) { return staticmetaobject.tr(s, c, n); } static inline QString trutf8(const char s, const char c, int n) { return staticmetaobject.trutf8(s, c, n); } virtual int qt metacall(qmetaobject::call, int, void );

Po rozwinięciu czym są sygnały i sloty template <typename T> inline void qt check for QOBJECT macro(const T & q argument) const { int i = qyouforgottheq OBJECT Macro(this, & q argument); i = i; } protected:

Po rozwinięciu czym są sygnały i sloty template <typename T> inline void qt check for QOBJECT macro(const T & q argument) const { int i = qyouforgottheq OBJECT Macro(this, & q argument); i = i; } protected:

Po rozwinięciu czym są sygnały i sloty Q OBJECT public slots : signals: protected:

Po rozwinięciu czym są sygnały i sloty Q OBJECT public slots : signals: protected:

Po rozwinięciu czym są sygnały i sloty Q OBJECT public slots : signals: protected:

Po rozwinięciu czym są sygnały i sloty Q OBJECT public slots : signals: protected:

Koniec prezentacji Dziękuję za uwagę Qt sygnały i sloty