Podstawy programowania w Qt4



Podobne dokumenty
Qt sygnały i designer

Zaawansowane programowanie w C++

Praca z aplikacją designer

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

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

Programowanie w środowiskach RAD Qt i C++

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

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

Qt - podstawowe cechy

Signals + Threads: Qt vs. Boost

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

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

wczesnej fazie rozwoju, zaimplementowano

Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres

Tworzenie oprogramowania

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

RAPORT KOŃCOWY PROJEKTU

Walidacja systemu ewms / cwms. Sopot

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Programowanie, część III

Qt hierarchia elementów graficznych

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

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

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Dynamiczne i wydajne tworzenie interfejsu. Piotr Michałkiewicz

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu MacOS

Wzorce projektowe cz. II. Wzorce projektowe cz. II 1/35

Wprowadzenie do sieciowych systemów operacyjnych. Moduł 1

SYSTEMY OPERACYJNE WYKŁAD 2 PRZEGLĄD SYSTEMÓW WINDOWS I UNIX

Programowanie obiektowe

Oprogramowanie IBM Lotus Domino, czyli technologiczna podstawa systemów pracy grupowej

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Zasoby, pliki graficzne

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

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Załącznik nr 1 formularz oferty

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Programowanie aplikacji dla technologii mobilnych. mgr inż. Anton Smoliński

Specyfikacja implementacyjna aplikacji mobilnej

Zrąb JavascriptMVC. Krzysztof Płocharz. 6 kwiecień Uniwersytet Warszawski

Środowiska i platformy programistyczne

76.Struktura oprogramowania rozproszonego.

KARTA MODUŁU KSZTAŁCENIA

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Weryfikatory, zasoby graficzne

Projekt architektury systemów informatycznych Uniwersytetu Warszawskiego w oparciu o metodykę TOGAF. Tomasz Turski

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

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

Historia systemów operacyjnych - Unix

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Praca w środowisku Visual Studio 2008, Visual C

WYJAŚNIENIA I MODYFIKACJA SIWZ. W związku z wpłynięciem zapytań do SIWZ dotyczących w/w postępowania, Zamawiający udziela następujących odpowiedzi:

Przegląd współczesnych systemów operacyjnych

Client Management Solutions i Mobile Printing Solutions

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

Laboratorium programowania urządzeń mobilnych

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

Profesjonalny efekt szybko i łatwo z darmowym oprogramowaniem Avery Design & Print

egroupware czy phpgroupware jest też mniej stabilny.

Programowanie w C. dr inż. Stanisław Wszelak

MIGRACJA SYSTEMÓW INFORMATYCZNYCH DO TECHNOLOGII JAVA

BUDOWA APLIKACJI NA PLATFORMĘ IPHONE/IPAD. dr inż. Marcin Tomana

Król Łukasz Nr albumu:

Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE)

Wirtualizacja. Metody, zastosowania, przykłady

KOMPUTER. Programy użytkowe i systemy operacyjne

Wykład 5 Okna MDI i SDI, dziedziczenie

Dokumentacja techniczna

Programowanie Systemów Czasu Rzeczywistego

Rozwi zania Client Management Solutions i Mobile Printing Solutions. Numer katalogowy dokumentu:

SPECYFIKACJA TECHNICZNA OPROGRAMOWANIA

Technologie Informatyczne Wykład XI linux

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

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

Wprowadzenie do QT OpenGL

TOPWEB SPSall Budowanie portalu intranetowego

Tematy dyplomów inżynierskich 2009 Katedra Inżynierii Oprogramowania

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Tworzenie plików w formacie DjVu z wykorzystaniem oprogramowania DocumentExpress Enterprise Edition

Warszawa, Wytyczne dla projektu Biblioteka GUI

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Komputery przemysłowe i systemy wbudowane

Client Management Solutions i Mobile Printing Solutions

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Języki i paradygmaty programowania - 1

System Profesal. Zarządzanie przez fakty

Szkolenie. IBM Lotus - Podstawy projektowania aplikacji w Domino Designer 8.5. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Architektura systemu e-schola

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Programowanie proceduralne w języku C++ Podstawy

Fundusze Europejskie dla rozwoju innowacyjnej gospodarki Dotacje na innowacje Inwestujemy w Waszą przyszłość Bydgoszcz, r.

Wstęp do programowania w Qt

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Transkrypt:

Podstawy programowania w Qt4 Rafał Rawicki 21 kwietnia 2007

Co to jest Qt? Zestaw bibliotek dla języka C++ oraz narzędzia roszerzające jego możliwości Ponad 400 klas Introspekcja oraz mechanizm sygnałów i slotów - braki C++

Obsługiwane platformy Microsoft Windows 98, NT 4.0, ME, 2000, and XP Unix/X11 Linux, Sun Solaris, HP-UX, HP Tru64 UNIX, IBM AIX, SGI IRIX i wiele innych. Mac OS X Mac OS X 10.3+ Systemy wbudowane Linux z obsługą framebuffera W przygotowaniu: Windows Mobile i Windows CE.

Na każdej platformie natywny wygląd

Licencje Qt4 jest oferowane w dwóch opcjach: Open Source Na wolnej licencji GNU GPL. Commercial Komercyjny sposób dystrybucji z supportem. W wersji 3 biblioteka Qt była dostępna na licencji GNU GPL tylko dla systemu Linux. Wraz z wydaniem Qt4 możemy tworzyć Wolne Oprogramowanie także pod pozostałe systemy.

Hello World! Rozmieszczanie widgetów za pomocą layoutów Sygnały i sloty Qmake

Łatwe rozmieszczanie elementów dzięki layoutom 1 QHBoxLayout layout = new QHBoxLayout ; 2 l a y o u t >addwidget ( e x i t b u t t o n ) ; 3... 4 main window >s e t L a y o u t ( l a y o u t ) ; Programista nie wpisuje pozycji elementów na sztywno. Okienka wyglądają dobrze niezależnie od ustawionego rozmiaru.

Łatwe rozmieszczanie elementów dzięki layoutom c. d. QHBoxLayout - rozkład w poziomie QVBoxLayout - rozkład w pionie QGridLayout - siatka Elementy są kładzione na layoucie w kolejności wywoływania layout >addwidget(...).

Mechanizm sygnałów i slotów 1 QObject : : c o n n e c t ( e x i t b u t t o n, SIGNAL ( c l i c k e d ( ) ), &app, SLOT( q u i t ( ) ) ) ; Możemy połączyć: Jeden sygnał do wielu slotów Wiele sygnałów do tego samego slotu Sygnał do sygnału Sygnały są rozłączane automatycznie w przypadku usunięcia któregoś z obiektów, ale można to zrobić ręcznie.

Mechanizm sygnałów i slotów c. d. Mechanizm sygnałów i slotów jest bezpieczny ze względu na typy. (Typy sygnału muszą zgadzać się z typami slotu.) Wyjątek: 1 Qobject : : connect ( widget1, SIGNAL ( valuechanged ( int, const QString &)), 2 widget2, SLOT( s e t V a l u e ( i n t ) ) ) ; Jeżeli slot ma mniej parametrów, dodatkowe parametry są ignorowane.

Ograniczenia mechanizmu sygnałów i slotów Nie możemy tworzyć sygnałów/slotów w: Klasach będących szablonami Klasach zagnieżdżonych w innych klasach Nie możemy również tworzyć połączeń przy pomocy std::bind1st, std::bind2nd, boost::bind itp.

Qmake Qmake Manager budowania automatycznie tworzy prawidłowy plik Makefile dla każdej platformy. $ qmake-qt4 -project $ qmake-qt4 $ make

Ftp Client Qt Designer Klasy Model/View QNetwork QtLinguist

Qt Designer Designer jest graficznym narzędziem dostarczanym razem z Qt ułatwiającym projektowanie interfejsu naszej aplikacji. Designer generuje opis wyglądu w pliku xml nazwa klasy. ui Dodajemy do pliku projektu FORMS += nazwa klasy.ui Dołączamy plik nagłówkowy ui nazwa klasy.h Klasa okienka dziedziczy po Ui :: NazwaKlasy

Qt Designer c. d. Rozmieszczanie elementów interfejsu Łączenie sygnałów i slotów Buddy Widgets Zasoby

MVC a Qt4 Implementacja popularnego wzorca projektowego. Widok pobiera dane z modelu i prezentuje użytkownikowi aplikacji Model pobiera dane ze źródła i udostępnia widokowi

MVC a Qt4 - Widoki

MVC a Qt4 - Modele Wszystkie modele dziedziczą z klasy QAbstractItemModel Kilka gotowych jest dostarczanych razem z Qt: QStringListModel QStandardItemModel QDirModel QSqlQueryModel, QSqlTableModel, QSqlRelationalTableModel Własne modele tworzymy dziedzicząc po klasach QAbstractItemModel, QAbstractListModel, QAbstractTableModel.

Qt Linguist i Lokalizacja aplikacji lupdate linguist-qt4 lrelease 1 i n t main ( i n t argc, char a r g v ){ 2 Qapplication app ( argc, argv ) ; 3 Q T r a n s l a t o r t r a n s l a t o r ; 4 5 t r a n s l a t o r. l o a d ( f t p c l i e n t + QLocale : : system ( ). name ( ), 6 qapp >applicationdirpath ( ) ) ; 7 app. i n s t a l l T r a n s l a t o r (& t r a n s l a t o r ) ; 8 9 FtpClient ftp ; 10 f t p. show ( ) ; 11 12 r e t u r n app. e x e c ( ) ; 13 }

Dalsze informacje http://doc.trolltech.com http://qtcentre.org http://qtforum.org labs.trolltech.com

Pytania?

Dziękuję za uwagę mail: rawicki@gmail.com jid: rawicki@chrome.pl