R-14-t.pdf

(539 KB) Pobierz
Szablon dla tlumaczy
14. Interfejs GUI dla Filmoteki
DVD — implementacja w
KDE i Qt
W tym rozdziale zajmiemy się ponownie implementacją interfejsu użytkownika dla Filmoteki
DVD (ang. DVD Store ) — programu obsługującego wypożyczalnię płyt DVD z filmami. Tym
razem GUI zostanie utworzony przy użyciu KDE i Qt. By nie utrudniać zadania na samym
początku, posługiwać się będziemy wyłącznie zestawem narzędzi Qt. W ten sposób wykażemy
podobieństwo używania Qt i KDE, zwiększając przy tym właściwość łatwego przenoszenia
miedzy platformami systemowymi. Zakładamy, że Qt jest obsługiwane na większej liczbie
platform niż KDE. Później zademonstrujemy, w jaki sposób można skłonić aplikację do
wykorzystania KDE.
W rozdziale zademonstrujemy:
przegląd niektórych dialogów;
wykorzystanie biblioteki bazy danych (ang. database library ) w naszym GUI;
adaptację wersji GUI, opartej wyłącznie na Qt, tak aby wykorzystywała w części możliwości
KDE.
Należy zwrócić uwagę na fakt, że w tym rozdziale nie umieścimy kompletnego wydruku kodu.
Kod ów jest, podobnie jak wszystkie inne kody w tej książce, dostępny do pobrania ze strony
WWW: www.wrox.com .
Projekt aplikacji
Na ile to możliwe postaramy się, aby różnice w zestawie dostępnych funkcji pomiędzy tworzoną
przez nas w tym rozdziale wersją aplikacji a jej oryginalną wersją w GNOME/GTK+, były
nieznaczne. Chcemy w ten sposób ułatwić Czytelnikowi ich porównanie. Zamierzamy uwzględnić
następujące cechy w projektowanej aplikacji:
okno dialogowe dostępu do bazy danych (ang. database login dialog ),
dziennik zdarzeń uwidaczniający każdą transakcję,
dodawanie, edycja i usuwanie klientów wypożyczalni,
dodawanie, edycja i usuwanie tytułów,
dodawanie płyt do tytułów,
wyszukiwanie klientów wypożyczalni i tytułów,
sprawdzanie statusu wypożyczenia płyty (wyszukiwanie płyt),
wypożyczanie filmów klientom wypożyczalni,
zwracanie poszczególnych płyt, wyświetlanie informacji o ich ewentualnym przetrzymaniu,
rezerwacja tytułów,
zapis konfiguracji.
Z zapleczem w postaci napisanej już bazy danych, nasze zadanie sprowadza się głównie do
utworzenia GUI. Wykonanie wszystkich powyższych funkcji będzie możliwe z oknem głównym,
wyposażonym w pasek menu i pasek narzędzi. Ponadto powinniśmy obsłużyć następujący zestaw
funkcji:
Użytkownik może dodać nowych klientów, tytuły i płyty otwierając z paska menu
odpowiednio okno dialogowe klienta (ang. member dialog ), okno dialogowe tytułu (ang.
title dialog ) lub okno dialogowe płyty (ang. disk dialog ). Klienci mogą również zostać
dodani z paska narzędzi.
Trzy różne wyszukiwania są zebrane w jedno okno dialogowe wyszukiwań (ang. search
dialog ).
Te same okna dialogowe są wykorzystywane do edycji danych klienta i tytułu . W obu
przypadkach są wywołane z okna dialogowego wyszukiwań.
Użytkownik za pomocą kliknięcia prawym przyciskiem myszy jakiegoś elementu może
otworzyć menu rozwijane (ang. popup menu ) z opcjami edycja (ang. edit ) i usuń (ang.
delete ).
Użytkownik może wywołać zarówno z paska menu jak i paska narzędzi osobne okna
dialogowe dla wypożyczeń (ang. renting ), zwrotów (ang. returning ) i rezerwacji (ang.
reserving ) tytułów.
Okno dialogowe dla zwrotów otworzy drugie okno dialogowe ukazujące, czy któraś ze
zwróconych płyt była przetrzymana.
I wreszcie, użytkownik w oknie dialogowym konfiguracji (ang. configuration dialog ) będzie
mógł określić różne opcje, takie jak nazwa pliku dziennika zdarzeń (ang. log file name ).
Będziemy używać następujących widżetów:
Nazwa widżetu
Typ widżetu
Opis
ConnectDialog QDialog Okno dialogowe rejestracji (ang. login dialog ).
Ustali połączenie do bazy danych i przygotuje
209515581.004.png
aplikację do użycia. Jedyną dostępną funkcją przed
ustaleniem połączenia jest okno ustawień (ang.
preferences window ).
DiskSearchPage QWidget Strona wyszukiwań płyt (ang. search page for
disks ). Okno dialogowe, w którym użytkownik może
sprawdzić status wypożyczenia płyty.
DVDSearchPage QWidget Strona wyszukiwań płyt DVD (ang. search page for
DVDs ). Tutaj użytkownik może wyszukiwać płyt
DVD według tytułu i (lub) aktora i (lub) reżysera.
Okno dialogowe działa też jako punkt wyjściowy
edycji i usuwania tytułów.
GeneralPage QWidget
Strona ustawień ogólnych (ang. general
preferences page ). Tutaj użytkownik może określić
nazwę dziennika zdarzeń i ustalić maksymalny okres
wypożyczenia po upływie którego wypożyczona płyta
jest uznana za przetrzymana. Jest to pierwsza z dwóch
stron w oknie ustawień (ang. preferences window ).
MainWindow
QMainWindow Okno główne (ang. main window ). Początkowe okno
aplikacji. Większość działań będzie stąd wywołana za
pomocą paska menu albo paska narzędzi. To okno
posiada również dziennik transakcji i wykaz
wypożyczeń.
MemberDialog QDialog
Okno dialogowe dodawania klientów
wypożyczalni (ang. dialog for adding members ). To
okno dialogowe może być wywołane z okna głównego,
gdzie pełni funkcję okna dialogowego dodawania
nowych klientów wypożyczalni. Wywołane z okna
dialogowego wyszukiwań (ang. search dialog ) może
posłużyć użytkownikowi do edycji danych istniejącego
klienta wypożyczalni.
MemberSearchPage QWidget Strona wyszukiwań klientów (ang. search page for
members ). Tutaj użytkownik może wyszukiwać
klientów według numeru członkowskiego
wypożyczalni, lub według nazwiska. Tutaj też
odbędzie się edycja i usuwanie klientów wypożyczalni.
PreferencesDialo
g
QTabDialog Okno dialogowe ustawień (ang. preferences
dialog ). Jest to okno dialogowe z dwoma stronami
zawierającymi różne opcje do ustawienia (ang.
adjustable options ).
RentDialog
QDialog
Okno dialogowe wypożyczeń (ang. rental dialog ). Z
tego okna dialogowego użytkownik określa, jakie płyty
klient zamierza wypożyczyć.
RentedDialog QDialog
Okno dialogowe wyników wypożyczeń (ang. rental
209515581.005.png 209515581.006.png
results dialog ). To okno dialogowe pojawia się, gdy
użytkownik zakończył działanie w oknie dialogowym
wypożyczeń. Pokazuje adres użytkownika i wykaz
tytułów, które klient zamierza wypożyczyć oraz które
płyty są do wypożyczenia. Będzie również pokazane,
jeśli tytuł jest niedostępny (wszystkie płyty są
wypożyczone).
ReserveDialog QDialog Okno dialogowe rezerwacji (ang. reserve dialog ).
Tutaj użytkownik dokonuje rezerwacji tytułu dla
klienta.
ReturnDialog QDialog
Okno dialogowe zwrotów (ang. return dialog ). W
tym oknie dialogowym użytkownik zgłosi fakt zwrotu
pożyczonych przez klienta płyt.
SearchDialog QTabDialog Okno dialogowe wyszukiwań (ang. search dialog ).
W tym oknie dialogowym znajdują się trzy strony dla
wyszukiwań.
SearchWindowPage QWidget Strona ustawień wyszukiwań (ang. search
preferences page ). Jest to druga strona z dwóch
dostępnych w oknie ustawień. Tutaj użytkownik może
uaktywnić i wyłączyć różne pola na stronie
wyszukiwań klienta i tytułu, tak aby ją dostosować do
swoich wymagań.
TitleDialog QDialog
Okno dialogowe dodawania nowych płyt DVD
(ang. dialog for adding new DVDs ). To okno
dialogowe, gdy wywołane z okna głównego, posłuży
do wpisu nowych tytułów. Wywołane ze strony
wyszukiwań tytułów, będzie działać jako okno
dialogowe do edycji tytułu.
No class
QInputDialog Okno dialogowe dodawania płyt do tytułów (ang.
dialog for adding disks to titles ). To okno używa
wbudowanego okna dialogowego Qt.
Na diagramie poniżej uwidoczniono relacje między różnymi oknami dialogowymi i ich związek,
jeśli taki istnieje, z zapleczem bazy danych (ang. database backend ). Okno dialogowe ustawień
jest na diagramie uproszczone (nie są pokazane jego obie strony). Ukazane są natomiast obie
strony okna dialogowego wyszukiwań. Nie są pokazane związane z rejestracją relacje okna
głównego.
209515581.007.png
Baza danych
Usuń klienta
Usuń tytuł
Szukaj
płyty
Szukaj
klienta
Szukaj
tytuł
Raport
Połącz
Klient
Ustawie
nia
Szukaj
Tytuł
Wypoży
czenia
Rezerwa
cje
Zwrot
Dodaj klienta
Dodaj tytuł
Rozłącz
Okno Główne
Dodaj Tytuł
209515581.001.png 209515581.002.png 209515581.003.png
Zgłoś jeśli naruszono regulamin