Programowanie w środowiskach zintegrowanych Qt
Literatura
- M. Summerfield, Advanced Qt Programming: Creating Great Software with C++ and Qt 4, Prentice Hall, USA, 2010.
- J. Blanchette, M. Summerfield, C++ GUI Programming with Qt 4 (2nd Edition), Prentice Hall, USA, 2008.
- A. Ezust, P. Ezust, Introduction to Design Patterns in C++ with Qt (2nd Edition). Prentice Hall, 2012.
- R. Rischpater, Application Development with Qt Creator. Packt Publishing, 2013.
- Oficjalna strona Qt http://qt-project.org/
- Forum poświęcone Qt http://www.devqt.pl
- Qt Centre http://www.qtcentre.org
- Qt Video tutorial http://www.youtube.com/watch?v=HiOOWDb4YjE
- Oryginalna dokumentacja Qt http://qt-project.org/doc/qt-5.0/qtdoc/index.html
- Kurs Qt po polsku http://blog.matthew.org.pl/kategoria/programowanie/qt/kurs-qt/
Materiały dydaktyczne:
- Prezentacja z pierwszych zajęć – Sloty i sygnały
- Sloty i sygnały – Ćwiczenia
- Sloty i sygnały – Kod
- Kalkulator – początek
- Prezentacja z drugich zajęć – Widgety i Layout
- Widgety i Layout – Ćwiczenia
- Prezentacja z trzecich zajęć – Kontenery
- Kontenery – Ćwiczenia
- Kontenery – Kod
- Ćwiczenia z czwartych zajęć – Edytor tekstowy
- Edytor tekstowy – Ikony
- Dodatkowe pomocne materiały przy tworzeniu edytora tekstowego:
- Przykład notatnika
- Zaawansowany edytor tekstowy
- Przykład: Application z SDK
- Prezentacja z piątych zajęć – Rysowanie
- Rysowanie – Ćwiczenia
- Rysowanie – Kod
Wymagania projektowe:
- Projekt musi zawierać minimum 5 konkretnych funkcjonalności.
- Do projektu należy dołączyć dokumentację zawierająca opis (cel) programu, diagram przypadków użycia, listę funkcjonalności w punkach wraz z jej opisem, diagram klas z opisem.
- Projekt musi implementować przynajmniej jeden (dowolny) wzorzec projektowy.
- Projekt musi być zgodny z zasadami projektowania obiektowego: abstrakcją, hermetyzacją, dziedziczeniem i polimorfizmem.
- Projekt powinien wykorzystywać możliwe największą liczbę komponentów Qt, mechanizm slotów i sygnałów oraz stosowne layouty.
- Oceniana będzie również odporność na błędy, optymalizacja kodu, złożoność zaproponowanych funkcjonalności oraz strona wizualna.
- Przykładowy projekt – Gra typu koło fortuny