do ÂściÂągnięcia - pobieranie - ebook - pdf - download
Podstrony
- Strona Główna
- Beaton M.C. Hamish Macbeth 02 Hamish Macbeth i śmierć łajdaka
- Montgomery Lucy Maud Pat ze srebrnego gaju 02 Pani na srebrnym gaju
- 02 Miłość ponad miłość (LOVE) Lynn Sandi
- Zelazny, Roger The Second Chronicles of Amber 02 Blood of Amber
- Star Wars Black Fleet Crisis 02 Shield of Lies Michael P Kube McDowell
- 2007 02. Randka w walentynki 1. Thompson Vicki Lewis Niebiańskie zapachy
- Sandemo Margit Saga o Królestwie Światła 02 Móri i Ludzie Lodu
- Bots, Dennis Hotel 13 02 Das Raetsel der Zeitmaschine
- Laurie King Mary Russel 02 A Monstrous Regiment of Women
- Immanuel_Kant_ _Uzasadnienie_Metafizyki_Moralnosci_(2)[1]
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- emily.opx.pl
[ Pobierz całość w formacie PDF ]
matu działania naszego programu. Będzie
S
progress = new QProgressDialog ("Creating iso...", "Abort..", 100,
to wymagało zmodyfikowania funkcji
this, "progress", TRUE);
doProc(), ale pierwszym krokiem będzie do-
connect (progress, SIGNAL (canceled ()), this, SLOT (cancel ()));
danie pliku nagłówkowego qprogessdialog.h.
proc = new QProcess (this);
Ponieważ z obiektu proc, a także obiek-
proc->addArgument ("mkisofs");
tu progress (QProgressDialog) będziemy
proc->addArgument ("-r");
korzystać w kilku metodach, zadeklaruje-
proc->addArgument ("-o");
my te obiekty zaraz pod spisem plików
proc->addArgument (outFile + ".iso");
nagłówkowych w edytorze kodu:
int itemCount = listIso->count ();
for (int i = 0; i
QProcess *proc;
proc->addArgument (listIso->text (i));
QProgressDialog *progress;
}
connect (proc, SIGNAL (readyReadStdout ()), this, SLOT (readFromStdout ()));
Dodamy teraz trzy metody, które w kolej-
connect (proc, SIGNAL (readyReadStderr ()), this, SLOT (readFromStderr ()));
ności: pozwolą przerwać tworzenie obrazu,
progress->setProgress (0);
wyświetlą na ekranie (w obecnej wersji pro-
if (!proc->start ()){
gramu na konsoli, o ile program będzie
QMessageBox::information (this, "Warning", "Can't execute process.
odpalony z konsoli) informacje wysyła-
Check if you have mkisofs inst alled correctly.", QMessageBox::Ok);
ne przez program Mkisofs na stdout oraz
}
wyświetlą i przetworzą wszystkie infor-
}
macje wysyłane przez program mkisofs na
stderr. ZnajdujÄ… siÄ™ one na Listingu 9.
S
"/home", QProcess Pierwsza funkcja wywołuje jedynie
S
"ISO Images (*.iso)", Wszystkie funkcje, a także cała obsługa metodę kill() klasy QProcess, która koń-
S
this, zewnętrznych poleceń, którą teraz będzie- czy działanie procesu uruchomionego przez
S
"save file dialog", my wykorzystywać, znajduje się w klasie metodę start(). W drugiej funkcji wypi-
"Choose a filename to save under" ); QProcess. Analogicznie do poprzedniego sujemy na ekran konsoli wszystkie infor-
30 luty 2006
programowanie
programowanie w Qt
macje, które zostaną wysłane na stdout. Total directory bytes: 1908736 z odpowiadającymi im slotami. Opis tych
Warto w tym miejscu nadmienić, że Mki- Path table size(bytes): 10226 funkcji i sygnałów znajduje się w doku-
sofs w wersji użytej podczas pisania tego Max brk space used 4c0000 mentacji do Qt, którą Czytelnik ma na
artykułu (mkisofs 2.01a34-unofficial-iconv) 149175 extents written (291 MB) dysku, a która jest dostępna po urucho-
nie wysyła informacji na stdout, a zamiast mieniu programu Qt Assistant.
tego korzysta z stderr. Z tego powodu W funkcji readFromStderr() odnajduje-
właśnie ta funkcja została bardziej rozbu- my pewne ciągi wyrazów i na ich podsta- Podsumowanie
dowana. wie wykonujemy takie operacje, jak pobra- W ten oto sposób przebrnęliśmy przez cały
W trzeciej funkcji widać, że właśnie tu nie informacji o postępie, czy też infor- proces tworzenia aplikacji z wykorzysta-
analizujemy wynik tego, co Mkisofs zwraca macji o wynikach. Zaprezentowane w tej niem biblioteki Qt. Omówione tutaj zasto-
podczas pracy. Gdy uruchomimy ten pro- funkcji mechanizmy są niczym innym jak sowanie jest z pewnością najprostszym spo-
gram normalnie (np. poleceniem mkisofs tylko operacjami na stringach. Zmienna sobem na wykonanie takiej aplikacji. Nie
-r -o test.iso /home/user/docs), na progressInt została dodana podobnie jak wymaga specjalistycznej wiedzy, jak i zna-
ekranie powinno pokazać się mniej więcej seletedItem na zakładce Members w pro- jomości niuansów programowania w syste-
coÅ› takiego: gramie Qt Designer. mie Linux.
Wszystkie trzy funkcje musza zostać
3.35% done, estimate finish Sun Nov 27 połączone z odpowiednimi sygnałami, aby
W Internecie:
21:25:04 2005 funkcjonowały prawidłowo. Ponieważ
10.06% done, estimate finish Sun Nov obiekty Qprocess, jak i QprogressDialog,
" Strona producenta biblioteki Qt:
27 21:25:14 2005 nie sÄ… elementami GUI, Å‚Ä…czenie ich sygna-
http://www.trolltech.com/
[...] łów z funkcjami musimy dokonać w
" Alternatywny tutorial do Qt:
93.86% done, estimate finish Sun Nov kodzie aplikacji, a dokładniej w funkcji
http://www.digitalfanatics.org/projects/
27 21:26:05 2005 doProc(). Po modyfikacji funkcja ta będzie
qt_tutorial/
97.21% done, estimate finish Sun Nov wyglądała jak na Listingu 10.
" Kurs programowania w Qt po polsku:
27 21:26:05 2005 Jak widać, połączyliśmy sygnał can-
http://free.of.pl/q/qtmoux/qt3/index.php
Total translation table size: 0 celed() klasy QProgressDialog ze slotem
" Forum poświęcone Qt:
Total rockridge attributes bytes: cancel() omówionym wcześniej, a także
http://www.qtforum.org/
608404 readyReadStdout() i readyReadStderr()
R E K L A M A
www.lpmagazine.org 31
[ Pobierz całość w formacie PDF ]