Tytuł pracy. Praca dyplomowa inżynierska. Filip Piechocki. Tytuł Imię i Nazwisko



Podobne dokumenty
Microsoft Management Console

Systemy mikroprocesorowe - projekt

Archiwum Prac Dyplomowych

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Poniżej instrukcja użytkowania platformy

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

Zarządzanie Zasobami by CTI. Instrukcja

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence.

I. Zakładanie nowego konta użytkownika.

SZABLONY KOMUNIKATÓW SPIS TREŚCI

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

PERSON Kraków

Chmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin

Automatyzacja procesu publikowania w bibliotece cyfrowej

Audyt SEO. Elementy oraz proces przygotowania audytu. strona

Aktualizacja CSP do wersji v7.2. Sierpień 2014

Nowe funkcjonalności

Instrukcja użytkownika Akademickiego Systemu Archiwizacji Prac dla nauczyciela akademickiego

Technologie internetowe Internet technologies Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L

Platforma do obsługi zdalnej edukacji

SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI

Kancelaris - Zmiany w wersji 2.50

Logowanie do mobilnego systemu CUI i autoryzacja kodami SMS

INSTRUKCJA WebPTB 1.0

Firma Informatyczna JazzBIT

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

W dobie postępującej digitalizacji zasobów oraz zwiększającej się liczby dostawców i wydawców

Opis instalacji systemu Intranet Komunikator

VinCent Office. Moduł Drukarki Fiskalnej

OPIS PRZEDMIOTU ZAMÓWIENIA

Pracownia internetowa w każdej szkole. Opiekun pracowni internetowej SBS 2003 PING

Zdalne odnawianie certyfikatów do SWI

Pracownia internetowa w szkole podstawowej (edycja 2004)

Program Google AdSense w Smaker.pl

Instrukcja Obsługi STRONA PODMIOTOWA BIP

Parowanie urządzeń Bluetooth. Instrukcja obsługi

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

Przekształcenie danych przestrzennych w interaktywne mapy dostępne na stronach www (WARSZTATY, poziom podstawowy)

PRESTASHOP INTEGRATOR XL BY CTI INSTRUKCJA

System kontroli wersji SVN

INSTRUKCJA Panel administracyjny

Instrukcja obsługi platformy zakupowej PHU VECTOR SP. Z O.O.

Zaloguj się do Moje GS1. wprowadź dane o swoich lokalizacjach w mniej niż 5 minut!

Zainstalowana po raz pierwszy aplikacja wymaga aktualizacji bazy danych obsługiwanych sterowników.

Platforma zamówień personelu JOBMAN.pl

Strona główna góra

INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56

ECDL Advanced Moduł AM3 Przetwarzanie tekstu Syllabus, wersja 2.0

Zaznaczając checkbox zapamiętaj program zapamięta twoje dane logowania. Wybierz cmentarz z dostępnych na rozwijalnej liście.

XChronos Rejestracja czasu pracy

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

Praca na wielu bazach danych część 2. (Wersja 8.1)

Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA

Rozliczenia z NFZ. Ogólne założenia. Spis treści

Konfiguracja historii plików

Wtedy wystarczy wybrać właściwego Taga z listy.

Wskazówki dotyczące przygotowania danych do wydruku suplementu

Sieci komputerowe cel

Sieci komputerowe. Definicja. Elementy

Logowanie do systemu Faktura elektroniczna

OptiMore Importer Rejestru VAT. Instrukcja obsługi programu

Oprogramowanie FonTel służy do prezentacji nagranych rozmów oraz zarządzania rejestratorami ( zapoznaj się z rodziną rejestratorów FonTel ).

Instrukcja programu PControl Powiadowmienia.

Harmonogramowanie projektów Zarządzanie czasem

Specyfikacja techniczna banerów Flash

Kopia zapasowa i odzyskiwanie Podręcznik użytkownika

Instrukcja obsługi panelu operacyjnego XV100 w SZR-MAX-1SX

Zmiany w wersji 1.18 programu VinCent Office.

E-commerce dofollow list

WSTĘP. Delphi. DDGX210(PL) - Edycja 1 du 01/

Stacjonarne Wszystkie Katedra Inżynierii Produkcji dr Sławomir Luściński. Kierunkowy Nieobowiązkowy Polski Semestr trzeci. Semestr zimowy Brak Tak

FlexDMS Aktualizacja 126

Programowanie Zespołowe

Skrócony podręcznik obsługi dla programu Wizualna poczta głosowa w wersji 8.5 lub nowszej

Część 2 struktura e-paczki

Administrator Konta - osoba wskazana Usługodawcy przez Usługobiorcę, uprawniona w imieniu Usługobiorcy do korzystania z Panelu Monitorującego.

Polityka prywatności strony internetowej wcrims.pl

JĘZYK UML JAKO NARZĘDZIE MODELOWANIA PROCESU PROJEKTOWO-KONSTRUKCYJNEGO

Elementy animacji sterowanie manipulatorem

Obsługa pakietu biurowego OFFICE

Podręcznik Użytkownika Plus Internet dla Mac OS X lub wyższa. Huawei E398 LTE

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Jak spersonalizować wygląd bloga?

Program Płatnik Instrukcja instalacji

INFORMATOR TECHNICZNY WONDERWARE

Instrukcja użytkownika systemu MOBEVO

Uprawnienia do dysponentów/jednostek organizacyjnych Uprawnienia do operacji. System EUROBUDŻET Aplikacja Księga Główna Aplikacja Środki trwałe

JAK NESTLE SCHOLLER STOSUJE PLIKI COOKIES ORAZ INNĄ TECHNOLOGIĘ ŚLEDZENIA

OvidSP. Ovid Universal Search Wyszukiwanie bez granic.

DRUKOWANIE ŚWIADECTW LIBRUS

Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).

Zad.1 Pokazać pierwszeństwo trybu odmów przed zezwalaj.

DE-WZP JJ.3 Warszawa,

WordPad. Czyli mój pierwszy edytor tekstu

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

Waldemar Pietrzak s5207. Projekt Wypożyczalnia Samochodów

Transkrypt:

Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki Rok akademicki 2008/2009 Praca dyplomowa inżynierska Filip Piechocki Tytuł pracy Opiekun pracy: Tytuł Imię i Nazwisko Ocena........................................................................... Podpis Przewodniczącego Komisji Egzaminu Dyplomowego

Specjalność: Informatyka Inżynieria oprogramowania i systemy informacyjne Data urodzenia: 28 września 1985 r. Data rozpoczęcia studiów: 21 lutego 2005 r. Życiorys Nazywam się......................................... podpis studenta Egzamin dyplomowy Złożył egzamin dyplomowy w dn....................................................... Z wynikiem.......................................................................... Ogólny wynik studiów................................................................ Dodatkowe wnioski i uwagi Komisji..........................................................................................................................................

Streszczenie Praca ta prezentuje... Słowa kluczowe: słowa kluczowe. Abstract Title: Thesis title. This thesis describes... Key words: key words.

Spis treści 1. Biblioteka Qt4.......................................... 1 1.1. Widżety i layouty...................................... 2 1.2. Architektura Model/Widok................................. 2 2. Opis problemu.......................................... 3 2.1. Co jest tematem niniejszej pracy?............................. 3 2.2. Po co jest tworzone to rozwiązanie?............................ 3 3. Zbadane możliwości rozwiazania problemu.......................... 4 3.1. Rozwiązanie pierwsze................................... 4 3.2. Rozwiązanie drugie..................................... 4 3.3. Rozwiazanie trzecie.................................... 4 3.4. Rozwiązanie czwarte.................................... 4 4. Realizacja wybranego sposobu................................. 5 4.1. ProxyModel........................................ 5 4.2. Zdarzenia.......................................... 5 i

1. Biblioteka Qt4 Hasłem reklamowym biblioteki Qt firmy Qt Software (dawniej Trolltech) jest: Code less. Create more. Deploy everywhere. Pisz mniej kodu. Stwórz więcej. Używaj wszędzie.. Ukazuje ono doskonale ideologię i to co skłoniło twórców do stworzenia tejże biblioteki. Otóż umożliwia ona tworzenie aplikacji, których kod źródłowy jest niezależny od platformy, dzięki czemu raz napisany kod możemy kompilować i uruchamiać zarówno na systemach z rodziny Microsoft Windows, jak i Linux lub Mac OS. Jak to możliwe? Otóż Qt to zestaw klas (także i narzędzi), które opakowują standardowe funkcje systemowe i udostępniają w postaci własnego API identycznego na każdej platformie, na którą jest dostępne. Dzięki temu pisząc kod w języku C++ z wykorzystaniem Qt i standardowych funkcji języka, jesteśmy w stanie uruchomić go na praktycznie większości platform dostępnych na rynku (w ostatniej wersji 4.4 są to: MS Windows, Linux/X11, Mac OS, Embedded Linux, Windows CE). Qt składa się z następujących modułów: QtCore podstawowy zestaw klas wykorzystywany przez inne moduły, zawsze wykorzystywany w aplikacjach wykorzystujących Qt QtGui zawiera komponenty wykorzystywane w graficznych interfejsach użytkownika (GUI) QtNetwork zestaw klas ułatwiających tworzenie aplikacji sieciowych QtOpenGL klasy wspierające wykorzystanie OpenGL QtScript klasy do obsługi skryptów Qt Script QtSql klasy integrujące aplikacje z bazami danych z wykorzystaniem SQL QtSvg klasy pozwalające wyświetlać i obsługiwać pliki SVG QtWebKit zestaw klas pozwalający wyświetlać i edytować zawartość Internetu (np. stron WWW) QtXml klasy do obsługi plików XML QtXmlPatterns silnik do obsługi XQuery i XPath dla XML Phonon zestaw klas do obsługi multimediów Qt3Support klasy dostarczone w celu zachowania kompatybilności z Qt w wersji 3 Qt to także zestaw trzech narzędzi ułatwiających tworzenie aplikacji: Qt Designer narzędzie do projektowania graficznego interfejsu użytkownika Qt Assistant narzędzie pozwalające korzystać z pomocy dostarczonej z Qt, jak i tworzenia i prezentacji własnej dokumentacji Qt Linguist narzędzie pozwalające w łatwy sposób dostarczać różne wersje językowe własnych aplikacji Dzięki tak rozbudowanej bibliotece można stworzyć wiele różnych aplikacji. Dla przykładu może to być zintegrowane środowisko programistyczne, serwer działający w trybie tekstowym, aplikacja bazodanowa i wiele innych. W niniejszej pracy poruszamy się w zakresie modułów 1

QtCore i QtGui, gdzie podstawowymi zagadnieniami są widżety i layouty oraz architektura Model/Widok. Na uwagę zasługuje także system sygnałów i slotów. Dzięki nim możemy obsłużyć komunikację pomiędzy obiektami łącząc ich sygnały z odpowiednimi slotami. Gdy w kodzie aplikacji pojawi się instrukcja emitująca sygnał, to dane przesyłane tym sygnałem trafią do wszystkich slotów podłączonych do niego. Przykładem może być obsługa przycisku. Każde naciśnięcie przycisku sprawia, iż emituje on sygnał clicked(). Sygnał ten możemy połączyć ze slotem, czyli metodą klasy, np. obslugaprzycisku(), za pomocą metody connect(). W rezultacie każde naciśnięcie przycisku będzie skutkowało wywołaniem metody obslugaprzycisku(). 1.1. Widżety i layouty Widżety są to wszystkie elementy graficznego interfejsu użytkownika (GUI), takie jak okna, przyciski, paski postępu, suwaki i wiele innych. Layout także jest widżetem, który zajmuje się pozycjonowaniem, w sposób właściwy dla danego typu layoutu, innych widżetów umieszczonych w swoim wnętrzu. Layouty same w sobie nie mają reprezentacji graficznej, zarządzają jedynie reprezentacją zawartych w nich widżetów. Jednakże widżety nie składają się jedynie z elementów graficznych prezentowanych na ekranie monitora, lecz zapewniają przede wszystkim obsługę zdarzeń zachodzących w aplikacji, jak chociażby kliknięcie lewym przyciskiem myszy. Typowy przycisk emituje wtedy sygnał clicked() i zmienia swój wygląd na przycisk wciśnięty, natomiast pole edycyjne pozwala na edycję swojej zawartości, najczęściej od miejsca kliknięcia, co na ekranie ukazuje się najczęściej jako migający kursor. Każdy widżet w Qt jest pochodną klasy QWidget. Klasa ta zapewnia interfejs, składający się z szeregu metod, służących do kontrolowania graficznej reprezentacji widżetu, jak i obsługi przez niego zdarzeń. W Qt istnieją cztery zasadnicze typy layoutów: poziome (ang. horizontal) zapełniają swoją przestrzeń widżetami, ustawiając je w kolumnie, zaczynając od góry; pionowe (ang. vertical) zapełniają swoją przestrzeń widżetami, ustawiając je w wierszu, zaczynając od prawej strony; kratki (ang. grid) zapełniają swoją przestrzeń widżetami, ustawiąjąc je w kolejnych polach kratki składającej sie z zadanych ilości kolumn i wierszy; stosu (ang. stack) ustawiają widżety jeden na drugim tak, że w danej chwili widoczny jest tylko jeden i zapełnia on całą powierzchnię layoutu; Ponieważ layouty także są pochodną klasy QWidget, można je zagnieżdżać. Dla przykładu gdy w layout pionowy wstawimy dwa layouty poziome, w każdym po dwa przyciski, uzyskany efekt będzie taki sam lub podobny, jak w przypadku użycia layoutu kratki o dwóch kolumnach i dwóch wierszach oraz z wstawionymi czterema przyciskami. 1.2. Architektura Model/Widok

2. Opis problemu 2.1. Co jest tematem niniejszej pracy? 2.2. Po co jest tworzone to rozwiazanie? 3

3. Zbadane możliwości rozwiazania problemu 3.1. Rozwiazanie pierwsze 3.2. Rozwiazanie drugie 3.3. Rozwiazanie trzecie 3.4. Rozwiazanie czwarte 4

4. Realizacja wybranego sposobu 4.1. ProxyModel 4.2. Zdarzenia 5