<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3534226812673623353</id><updated>2011-07-08T08:03:45.863+02:00</updated><category term='rysowanie'/><category term='KDevelop'/><category term='aplikacja demo'/><category term='wzorce projektowe'/><category term='I/O'/><category term='artykuły'/><category term='java'/><category term='STL'/><category term='qt jambi'/><category term='Cpp'/><category term='Linux'/><category term='projekt'/><category term='eclipse'/><category term='książki'/><category term='qt'/><title type='text'>devblog kof</title><subtitle type='html'>Tylko programy tworzą programistów.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dev-kof.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dev-kof.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>kof</name><uri>http://www.blogger.com/profile/13315628840145811678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TDBz13Ua3rI/AAAAAAAAACk/hq1RuaTvQZo/S220/images.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3534226812673623353.post-7149570312293887129</id><published>2010-07-22T15:02:00.004+02:00</published><updated>2010-07-22T15:10:02.114+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDevelop'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Cpp'/><title type='text'>Instalacja KDevelop dla Kubuntu/Ubuntu 10.04</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oR4-jbZ-2Xg/TEhC5DdHTJI/AAAAAAAAAEI/xP6JXlXxlV0/s1600/images"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 48px; height: 48px;" src="http://2.bp.blogspot.com/_oR4-jbZ-2Xg/TEhC5DdHTJI/AAAAAAAAAEI/xP6JXlXxlV0/s400/images" border="0" alt=""id="BLOGGER_PHOTO_ID_5496716893153086610" /&gt;&lt;/a&gt;Otwórz terminal i wprowadź następujące polecenia:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;sudo add-apt-repository ppa:kubuntu-ppa/backports&lt;br /&gt;sudo apt-get update&lt;br /&gt;sudo apt-get install kdevelop&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3534226812673623353-7149570312293887129?l=dev-kof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dev-kof.blogspot.com/feeds/7149570312293887129/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://dev-kof.blogspot.com/2010/07/instalacja-kdevelop-dla-kubuntuubuntu.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/7149570312293887129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/7149570312293887129'/><link rel='alternate' type='text/html' href='http://dev-kof.blogspot.com/2010/07/instalacja-kdevelop-dla-kubuntuubuntu.html' title='Instalacja KDevelop dla Kubuntu/Ubuntu 10.04'/><author><name>kof</name><uri>http://www.blogger.com/profile/13315628840145811678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TDBz13Ua3rI/AAAAAAAAACk/hq1RuaTvQZo/S220/images.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_oR4-jbZ-2Xg/TEhC5DdHTJI/AAAAAAAAAEI/xP6JXlXxlV0/s72-c/images' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3534226812673623353.post-3863724146491711679</id><published>2010-07-22T14:55:00.002+02:00</published><updated>2010-07-22T14:58:27.109+02:00</updated><title type='text'>Aktualizowanie repozytorium w Ubuntu</title><content type='html'>&lt;span style="font-weight:bold;"&gt;gksudo gedit /etc/apt/sources.list&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Dodaj na dole pliku np:&lt;br /&gt;&lt;span style="font-style:italic;"&gt;deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu intrepid main&lt;br /&gt;deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu intrepid main&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Potem w terminalu:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;sudo apt-get update&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Następnie:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;apt-get install NAZWA_PROGRAMU&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3534226812673623353-3863724146491711679?l=dev-kof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dev-kof.blogspot.com/feeds/3863724146491711679/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://dev-kof.blogspot.com/2010/07/aktualizowanie-repozytorium-w-ubuntu.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/3863724146491711679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/3863724146491711679'/><link rel='alternate' type='text/html' href='http://dev-kof.blogspot.com/2010/07/aktualizowanie-repozytorium-w-ubuntu.html' title='Aktualizowanie repozytorium w Ubuntu'/><author><name>kof</name><uri>http://www.blogger.com/profile/13315628840145811678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TDBz13Ua3rI/AAAAAAAAACk/hq1RuaTvQZo/S220/images.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3534226812673623353.post-966110404465600423</id><published>2010-07-22T14:21:00.001+02:00</published><updated>2010-07-22T14:23:25.679+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='projekt'/><title type='text'>Projekt - Starter Aplikacji</title><content type='html'>Dziś rozpoczynam pracę nad nowym projektem. Starter aplikacji.&lt;br /&gt;Szczegóły na stronie: &lt;a href="http://sites.google.com/site/codecanfly/"&gt;http://sites.google.com/site/codecanfly/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3534226812673623353-966110404465600423?l=dev-kof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dev-kof.blogspot.com/feeds/966110404465600423/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://dev-kof.blogspot.com/2010/07/projekt-starter-aplikacji.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/966110404465600423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/966110404465600423'/><link rel='alternate' type='text/html' href='http://dev-kof.blogspot.com/2010/07/projekt-starter-aplikacji.html' title='Projekt - Starter Aplikacji'/><author><name>kof</name><uri>http://www.blogger.com/profile/13315628840145811678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TDBz13Ua3rI/AAAAAAAAACk/hq1RuaTvQZo/S220/images.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3534226812673623353.post-4430643969397272900</id><published>2010-07-22T13:40:00.002+02:00</published><updated>2010-07-22T13:41:03.924+02:00</updated><title type='text'>Kontakt</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.ggpht.com/_oR4-jbZ-2Xg/TEgtr1LFT8I/AAAAAAAAADk/A6-i24ISi24/conntact.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 257px; height: 81px;" src="http://lh5.ggpht.com/_oR4-jbZ-2Xg/TEgtr1LFT8I/AAAAAAAAADk/A6-i24ISi24/conntact.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3534226812673623353-4430643969397272900?l=dev-kof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dev-kof.blogspot.com/feeds/4430643969397272900/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://dev-kof.blogspot.com/2010/07/kontakt.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/4430643969397272900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/4430643969397272900'/><link rel='alternate' type='text/html' href='http://dev-kof.blogspot.com/2010/07/kontakt.html' title='Kontakt'/><author><name>kof</name><uri>http://www.blogger.com/profile/13315628840145811678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TDBz13Ua3rI/AAAAAAAAACk/hq1RuaTvQZo/S220/images.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_oR4-jbZ-2Xg/TEgtr1LFT8I/AAAAAAAAADk/A6-i24ISi24/s72-c/conntact.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3534226812673623353.post-87379375345946471</id><published>2010-07-04T13:43:00.005+02:00</published><updated>2010-07-04T13:56:51.295+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='qt jambi'/><title type='text'>DevQt.pl - Polskie forum o Qt</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oR4-jbZ-2Xg/TDB1hKEH8_I/AAAAAAAAADE/v8b9AjA5HJw/s1600/forum_devqt.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 300px; height: 194px;" src="http://2.bp.blogspot.com/_oR4-jbZ-2Xg/TDB1hKEH8_I/AAAAAAAAADE/v8b9AjA5HJw/s400/forum_devqt.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5490017158262420466" /&gt;&lt;/a&gt;O Qt mało jest polskich stron, a jeszcze mniej jest for. Wszystkim zainteresowanym tematyką tej biblioteki polecam zajrzeć na stronę: &lt;a href="http://devqt.pl"&gt;DevQt.pl&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3534226812673623353-87379375345946471?l=dev-kof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dev-kof.blogspot.com/feeds/87379375345946471/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://dev-kof.blogspot.com/2010/07/devqtpl-polskie-forum-o-qt.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/87379375345946471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/87379375345946471'/><link rel='alternate' type='text/html' href='http://dev-kof.blogspot.com/2010/07/devqtpl-polskie-forum-o-qt.html' title='DevQt.pl - Polskie forum o Qt'/><author><name>kof</name><uri>http://www.blogger.com/profile/13315628840145811678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TDBz13Ua3rI/AAAAAAAAACk/hq1RuaTvQZo/S220/images.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_oR4-jbZ-2Xg/TDB1hKEH8_I/AAAAAAAAADE/v8b9AjA5HJw/s72-c/forum_devqt.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3534226812673623353.post-6074262300661476658</id><published>2010-06-11T18:57:00.005+02:00</published><updated>2010-06-11T19:57:11.574+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rysowanie'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='aplikacja demo'/><category scheme='http://www.blogger.com/atom/ns#' term='qt jambi'/><title type='text'>Rysowanie szachownicy</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TBJreuYFKOI/AAAAAAAAACQ/H2D5He6r_sU/s1600/screen_szachownica.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 276px; height: 292px;" src="http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TBJreuYFKOI/AAAAAAAAACQ/H2D5He6r_sU/s400/screen_szachownica.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5481561872052594914" /&gt;&lt;/a&gt;&lt;br /&gt;Demo aplikacji, które ma na celu przedstawić podstawy rysowania z użyciem biblioteki Qt Jambi.&lt;br /&gt;&lt;br /&gt;Artykuł: &lt;a href="http://dev-kof.blogspot.com/2010/06/przedstawienie-rysowania-w-qt-jambi.html"&gt;Przedstawienie rysowania w Qt Jambi.&lt;/a&gt;&lt;br /&gt;Źródło: &lt;a href="http://sites.google.com/site/devkof/download/szachownica.zip?attredirects=0&amp;d=1"&gt;download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3534226812673623353-6074262300661476658?l=dev-kof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dev-kof.blogspot.com/feeds/6074262300661476658/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://dev-kof.blogspot.com/2010/06/rysowanie-szachownicy.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/6074262300661476658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/6074262300661476658'/><link rel='alternate' type='text/html' href='http://dev-kof.blogspot.com/2010/06/rysowanie-szachownicy.html' title='Rysowanie szachownicy'/><author><name>kof</name><uri>http://www.blogger.com/profile/13315628840145811678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TDBz13Ua3rI/AAAAAAAAACk/hq1RuaTvQZo/S220/images.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TBJreuYFKOI/AAAAAAAAACQ/H2D5He6r_sU/s72-c/screen_szachownica.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3534226812673623353.post-5578462564178555371</id><published>2010-06-11T15:02:00.006+02:00</published><updated>2010-06-11T19:52:06.881+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rysowanie'/><category scheme='http://www.blogger.com/atom/ns#' term='artykuły'/><category scheme='http://www.blogger.com/atom/ns#' term='qt jambi'/><title type='text'>Przedstawienie rysowania w Qt Jambi.</title><content type='html'>W tym artykule przedstawię czytelnikowi niezbędne konstrukcje jakie pozwoliły mi utworzyć program demo &lt;a href="http://dev-kof.blogspot.com/2010/06/rysowanie-szachownicy.html"&gt;"rysowanie szachownicy"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1. Wykonaj własny widget&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Oczywiście można rysunek wykonać bezpośrednio na powierzchni własnej klasy MainWindow jednak w ten sposób traci się przejrzystość, ponieważ MainWindow musi obsługiwać rysowanie szachownicy. Co więcej gdybyśmy w przyszłości chcieli na ekranie przedstawić kilka szachownic to dla każdej sztuki musielibyśmy pisać na nowo kod w MainWindow. Dodatkowo trwając w tym sposobie nie mielibyśmy możliwości użycia szachownicy w Qt Designerze.&lt;br /&gt;&lt;br /&gt;Jak wykonać własny widget?&lt;br /&gt;&lt;br /&gt;W tym celu przeczytaj ten artykuł: &lt;a href="http://dev-kof.blogspot.com/2010/06/wasny-widget-w-qt-jambi.html"&gt;"Własny widget w Qt Jambi"&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. Implementacja własnego widgetu&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;W tym zadaniu podstawowym celem jest nadpisanie metody:&lt;br /&gt;&lt;code class="prettyprint"&gt;&lt;br /&gt;protected void paintEvent(QPaintEvent e)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;w trakcie działania aplikacji nie musisz jej wywoływać ponieważ tym zajmują się mechanizmy Qt.&lt;br /&gt;&lt;br /&gt;3. Aby rysować niezbędne jest narzędzie rysownicze. &lt;br /&gt;&lt;code class="prettyprint"&gt;&lt;br /&gt;painter = new QPainter(this);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;4. Jeżeli chcemy, aby narzędzie rysownicze używało &lt;a href="http://www.psxzone.opalnet.pl/Texty/txt06.htm"&gt;antialisingu&lt;/a&gt; &lt;br /&gt;Używamy tych instrukcji:&lt;br /&gt;&lt;code class="prettyprint"&gt;&lt;br /&gt;// wobec rysowania, prostych, figur itp&lt;br /&gt;painter.setRenderHint(QPainter.RenderHint.Antialiasing);&lt;br /&gt;// wobec rysowania tekstu&lt;br /&gt;painter.setRenderHint(QPainter.RenderHint.TextAntialiasing);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;5. Jeżeli chcemy zmienić kolor jaki używa narzędzie to w tym celu tworzymy pisak, i wstawiamy go do narzędzia.&lt;br /&gt;&lt;code class="prettyprint"&gt;&lt;br /&gt;QPen pen = new QPen(QColor.red);&lt;br /&gt;painter.setPen(pen);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;6. Jeżeli chcemy narysować tekst w tym celu dokonujemy takiej instrukcji.&lt;br /&gt;&lt;code class="prettyprint"&gt;&lt;br /&gt;// zarówno x jak i y są typu int, messageLine jest typu String (dla C++ jest typu QString)&lt;br /&gt;painter.drawText(x, y, messageLine1);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;7. Jeżeli chcemy narysować prostokąt używamy takiej instrukcji:&lt;br /&gt;&lt;code class="prettyprint"&gt;&lt;br /&gt;// x, y współrzędne &lt;br /&gt;// fieldWidth szerokość&lt;br /&gt;// fieldHeight wysokość&lt;br /&gt;// QColor.black kolor&lt;br /&gt;painter.fillRect(x, y, fieldWidth, fieldHeight, QColor.black)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;8. Jeżeli chcemy rysować inne figury zalecam spojrzeć na stronę:&lt;br /&gt;&lt;a href="http://doc.qt.nokia.com/4.6/qpainter.html"&gt;http://doc.qt.nokia.com/4.6/qpainter.html&lt;/a&gt;&lt;br /&gt;Metody rysujące rozpoczynają się słowem &lt;span style="font-style:italic;"&gt;"draw"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;9. Aby narysować szachownice wykonuje się właściwie dwie rzeczy:&lt;br /&gt;1. pierw ustawić tło widgetu na białe&lt;br /&gt;2. narysować czarne kwadraty za pomocą podwójnej pętli&lt;br /&gt;&lt;br /&gt;Teraz przeanalizuj kod. Algorytm jest zapisany w języku Java, jednak jest czytalny i łatwo go dostosować do C++.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3534226812673623353-5578462564178555371?l=dev-kof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dev-kof.blogspot.com/feeds/5578462564178555371/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://dev-kof.blogspot.com/2010/06/przedstawienie-rysowania-w-qt-jambi.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/5578462564178555371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/5578462564178555371'/><link rel='alternate' type='text/html' href='http://dev-kof.blogspot.com/2010/06/przedstawienie-rysowania-w-qt-jambi.html' title='Przedstawienie rysowania w Qt Jambi.'/><author><name>kof</name><uri>http://www.blogger.com/profile/13315628840145811678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TDBz13Ua3rI/AAAAAAAAACk/hq1RuaTvQZo/S220/images.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3534226812673623353.post-92216691367754286</id><published>2010-06-10T12:26:00.000+02:00</published><updated>2010-06-11T17:56:01.113+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='artykuły'/><category scheme='http://www.blogger.com/atom/ns#' term='qt jambi'/><title type='text'>Własny widget w Qt Jambi</title><content type='html'>Pierw należy dziedziczyć od kontrolki, a następnie należy wykonać implementacje. Przykład ukazuje utworzenie kontrolki na bazie QFrame.&lt;br /&gt;&lt;br /&gt;&lt;code class="prettyprint"&gt;&lt;br /&gt;import com.trolltech.qt.gui.*;&lt;br /&gt;&lt;br /&gt;public class BlueFrame extends QFrame {&lt;br /&gt;   public BlueFrame(QWidget parent)&lt;br /&gt;   {&lt;br /&gt;       super(parent);&lt;br /&gt;       setStyleSheet("background-color:blue");&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public static void main(String[] args) {&lt;br /&gt;       System.out.println("BlueFrame.java");&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Kluczowym ruchem jest uruchomienie Project-&gt;Properties i oznaczenie Utworzonej klasy jako plugin. W tym celu klikamy na checkbox w kolumnie "Enable plugin".&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oR4-jbZ-2Xg/TBC-oQcuLkI/AAAAAAAAABU/hQCp6qIXbhQ/s1600/screen_enable_plugin.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 46px;" src="http://2.bp.blogspot.com/_oR4-jbZ-2Xg/TBC-oQcuLkI/AAAAAAAAABU/hQCp6qIXbhQ/s320/screen_enable_plugin.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5481090345329372738" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Teraz pracując z Qt Designerem możemy wybrać naszą klasę z palety kontrolek i osadzić ją na formie. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_oR4-jbZ-2Xg/TBC_U6_BUrI/AAAAAAAAABc/qzKzT-o24V0/s1600/screen_custom_widget_blue_frame.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 147px;" src="http://3.bp.blogspot.com/_oR4-jbZ-2Xg/TBC_U6_BUrI/AAAAAAAAABc/qzKzT-o24V0/s400/screen_custom_widget_blue_frame.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5481091112661766834" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Dla programujących w języku C++&lt;/b&gt;&lt;br /&gt;Uruchom designera. Wstaw na formę pierw podstawową kontrolkę Qt z której dziedziczy twój widget.&lt;br /&gt;W tym przypadku jest to QFrame. Następnie kliknij prawym klawiszem na jego powierzchnię.&lt;br /&gt;Pojawi się menu kontekstowe, a w nim opcja zastąp. Wybierz ją. Następnie pojawi się okno dialogowe widżetów zastępczych. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TBIzoAWncNI/AAAAAAAAACI/eI1MHXeR3h4/s1600/screen_zastepcze_widgety.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 297px;" src="http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TBIzoAWncNI/AAAAAAAAACI/eI1MHXeR3h4/s400/screen_zastepcze_widgety.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5481500458845958354" /&gt;&lt;/a&gt;&lt;br /&gt;Wprowadź nazwę zastępczej klasy. Kliknij przycisk "Dodaj". Oznacz checkbox w kolumnie nagłówek globalny. Teraz skompiluj program.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3534226812673623353-92216691367754286?l=dev-kof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dev-kof.blogspot.com/feeds/92216691367754286/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://dev-kof.blogspot.com/2010/06/wasny-widget-w-qt-jambi.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/92216691367754286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/92216691367754286'/><link rel='alternate' type='text/html' href='http://dev-kof.blogspot.com/2010/06/wasny-widget-w-qt-jambi.html' title='Własny widget w Qt Jambi'/><author><name>kof</name><uri>http://www.blogger.com/profile/13315628840145811678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TDBz13Ua3rI/AAAAAAAAACk/hq1RuaTvQZo/S220/images.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_oR4-jbZ-2Xg/TBC-oQcuLkI/AAAAAAAAABU/hQCp6qIXbhQ/s72-c/screen_enable_plugin.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3534226812673623353.post-8770252198624796585</id><published>2010-06-10T12:08:00.000+02:00</published><updated>2010-06-11T17:59:37.457+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='STL'/><category scheme='http://www.blogger.com/atom/ns#' term='artykuły'/><category scheme='http://www.blogger.com/atom/ns#' term='książki'/><category scheme='http://www.blogger.com/atom/ns#' term='Cpp'/><title type='text'>Polskie materiały na temat STL</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oR4-jbZ-2Xg/TBC7CjoBLnI/AAAAAAAAABM/arTJl44bgXs/s1600/ok%C5%82adka_leksykon.jpg"&gt;&lt;/a&gt;&lt;div&gt;&lt;span style="font-weight:bold;"&gt;Motywacja:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;STL jest biblioteką, która pozwala oderwać programistę od wielu typowych zadań elementarnych. To pomyślna rzecz, ponieważ kod oparty o kolekcję kontenerów ułatwia zarządzanie danymi. To wpływa pozytywnie na logikę programu, a także oszczędność poświęconego czasu. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight:bold;"&gt;Strony internetowe:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Przelotne zwrócenie uwagi na istnienie STL. Tekst pisany dość trzeźwym językiem. W sam raz dobry na start. &lt;/div&gt;&lt;div&gt;&lt;a href="http://darkcult.home.pl/wiki/index.php?title=Kurs_C%2B%2B_cz%C4%99%C5%9B%C4%87_4"&gt;darkcult.home.pl &lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Kurs niezupełny, jednak warty uwagi na sam początek.&lt;/div&gt;&lt;div&gt;&lt;a href="http://kursy.ddt.pl/?LessonId=235"&gt;kursy.ddt.pl &lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Treść pozytywna, również stanowi dobre wprowadzenie.&lt;/div&gt;&lt;div&gt;&lt;a href="http://pl.wikibooks.org/wiki/C%2B%2B/Filozofia_STL"&gt;pl.wikibooks.org &lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Stronę proponuje czytać od momentu, gdy autor przedstawia alternatywę dla dynamicznych tablic. Plusem tekstu jest kod źródłowy podsumowujący całe spotkanie.&lt;/div&gt;&lt;div&gt;&lt;a href="http://hobson.webpark.pl/start.html"&gt;hobson.webpark.pl &lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;C++ bez cholesterolu. Polecam tu zajrzeć, gdy nawdychamy się wstępnych informacji o STL&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.intercon.pl/~sektor/cbx/std/stl.html"&gt;intercon.pl &lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Zalecam korzystać, gdy zamierzamy uzupełnić wiedzę o STL, nie wcześniej. &lt;/div&gt;&lt;div&gt;&lt;a href="http://osilek.mimuw.edu.pl/index.php?title=Zaawansowane_CPP"&gt;osilek.mimuw.edu.pl &lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Polska sympatyczna niby-dokumentacja z przykładami, dość estetyczna.&lt;/div&gt;&lt;div&gt;&lt;a href="http://staff.elka.pw.edu.pl/~rnowak2/zprwiki/doku.php"&gt;staff.elka.pw.edu.pl &lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Strona częściowo przetłumaczona, mimo to przedstawione przykłady kodu jasno wyrażają sposób używania STL. Strona po opanowaniu STL może być traktowana jako ściąga.&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.cppreference.com/wiki/pl/start"&gt;cppreference.com&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight:bold;"&gt;Magazyny:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;WARP 2.0 Digital 03 (03-2006) (13) 80dpi,&lt;/div&gt;&lt;div&gt;artykuł stanowi proste wprowadzenie w tematykę STL.&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.warp.nazwa.pl/Warp_strona/ccount/click.php?id=3"&gt;warp.nazwa.pl&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight:bold;"&gt;Wykłady:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Paczka z wykładami zawierającymi w sobie pomocnicze rysunki,&lt;/div&gt;&lt;div&gt;kod, opisy STL, ubliżajace zrozumienie STL w praktyce. Wymagane&lt;/div&gt;&lt;div&gt;nieco większe pojęcie na temat STL niż blade &lt;/div&gt;&lt;div&gt;&lt;a href="http://sites.google.com/site/devkof/download/STL-wyk%C5%82ady.rar?attredirects=0&amp;amp;d=1"&gt;http://sites.google.com/site/devkof/download/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Bibliografia:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;a href="http://2.bp.blogspot.com/_oR4-jbZ-2Xg/TBC5738I8LI/AAAAAAAAAAk/j3bk8IeKOos/s1600/ok%C5%82adka_bibilioteka_standardowa.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_oR4-jbZ-2Xg/TBC5738I8LI/AAAAAAAAAAk/j3bk8IeKOos/s320/ok%C5%82adka_bibilioteka_standardowa.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5481085184789508274" style="float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; width: 150px; height: 225px; " /&gt;&lt;/a&gt;&lt;div&gt;&lt;span style="font-style:italic;"&gt;C++ biblioteka standardowa podręcznik programisty&lt;/span&gt;&lt;/div&gt;&lt;div&gt;O tej książce, można przeczytać kilka plotek w internecie, że książka jest zła, bo nie ma w niej fachowego tłumaczenia terminów. Fakt, kilka słów posiada trochę niecodzienne nazwy, lecz to wcale nie utrudnia analizy książki. Książka jest przyzwoita, omówienie STL dopasowane jest zarówno dla osoby początkującej jak i wprawionej. Książka omawia wszystkie tematy. Tu szczególnie podoba mi się zwracania uwagi na niewłaściwe praktyki używania STL.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;a href="http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TBC6MqVbNyI/AAAAAAAAAAs/AQDocUVClEQ/s1600/ok%C5%82adka_thinking_in_cpp2.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TBC6MqVbNyI/AAAAAAAAAAs/AQDocUVClEQ/s320/ok%C5%82adka_thinking_in_cpp2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5481085473195243298" style="float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; width: 150px; height: 225px; " /&gt;&lt;/a&gt;&lt;div&gt;&lt;span style="font-style:italic;"&gt;Thinking in C++ tom 2 &lt;/span&gt;&lt;/div&gt;&lt;div&gt;Poświęcono dwa obszerne rozdziały na cześć STL. Treści tej z pewnością nie polecam nowicjuszom, charakter obrazowania wiedzy w przypadku Bruce Eckel'a ma dość zbliżony do bombardowania, a to niekiedy utrudnia przyswojenie prostych dawek informacji. Proponuje zająć się książką w późniejszym okresie. Dodam jeszcze, że elektroniczne wydanie książki jest stosunkowo łatwe do zdobycia.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;a href="http://3.bp.blogspot.com/_oR4-jbZ-2Xg/TBC6ZLf40cI/AAAAAAAAAA0/5q_qsd0bFdE/s1600/ok%C5%82adka_szkola_programowania.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_oR4-jbZ-2Xg/TBC6ZLf40cI/AAAAAAAAAA0/5q_qsd0bFdE/s320/ok%C5%82adka_szkola_programowania.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5481085688255926722" style="float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; width: 150px; height: 225px; " /&gt;&lt;/a&gt;&lt;div&gt;&lt;span style="font-style:italic;"&gt;Szkoła programowania język C++ wydanie V &lt;/span&gt;&lt;/div&gt;&lt;div&gt;Książka dość pobieżnie podchodzi do STL. Fakt porusza wiele tematów, lecz w stosunku do całości jest tego zbyt mało. Wg mnie ten tekst można traktować jako interesująca zapowiedź STL po opanowaniu podstaw języka C++.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;a href="http://3.bp.blogspot.com/_oR4-jbZ-2Xg/TBC6ZLf40cI/AAAAAAAAAA0/5q_qsd0bFdE/s1600/ok%C5%82adka_szkola_programowania.jpg"&gt;&lt;/a&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;a href="http://1.bp.blogspot.com/_oR4-jbZ-2Xg/TBC6rCgemGI/AAAAAAAAAA8/wR-Mdhvg4hI/s1600/ok%C5%82adka_cpp_dla_programistow_gier.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_oR4-jbZ-2Xg/TBC6rCgemGI/AAAAAAAAAA8/wR-Mdhvg4hI/s320/ok%C5%82adka_cpp_dla_programistow_gier.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5481085995080128610" style="float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; width: 150px; height: 225px; " /&gt;&lt;/a&gt;&lt;div&gt;&lt;span style="font-style:italic;"&gt;C++ dla programistów gier&lt;/span&gt;&lt;/div&gt;&lt;div&gt;W tej książce poruszono kwestie wydajności STL. Poza tym znaleźć tutaj można przystępne rysunki obrazujące sposób organizacji elementów w pamięci komputera. Mnie osobiście pozycja bardzo się spodoba.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;a href="http://3.bp.blogspot.com/_oR4-jbZ-2Xg/TBC630FVJbI/AAAAAAAAABE/BA7sytS17qw/s1600/ok%C5%82adka_standardy+kodowania.jpeg"&gt;&lt;img src="http://3.bp.blogspot.com/_oR4-jbZ-2Xg/TBC630FVJbI/AAAAAAAAABE/BA7sytS17qw/s320/ok%C5%82adka_standardy+kodowania.jpeg" border="0" alt="" id="BLOGGER_PHOTO_ID_5481086214546466226" style="float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; width: 192px; height: 275px; " /&gt;&lt;/a&gt;&lt;div&gt;&lt;span style="font-style:italic;"&gt;Język C++ Standardy kodowania&lt;/span&gt; &lt;/div&gt;&lt;div&gt;Paczka solidnych rad. Mówiąc o STL znajdziemy tu kilka sztuczek, a także dowiemy się jaki algorytmy stosować, gdy mamy ich wiele do wyboru, a tym samym zależy nam na wydajności.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;a href="http://2.bp.blogspot.com/_oR4-jbZ-2Xg/TBC7CjoBLnI/AAAAAAAAABM/arTJl44bgXs/s1600/ok%C5%82adka_leksykon.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_oR4-jbZ-2Xg/TBC7CjoBLnI/AAAAAAAAABM/arTJl44bgXs/s320/ok%C5%82adka_leksykon.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5481086399107116658" style="float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; width: 128px; height: 190px; " /&gt;&lt;/a&gt;&lt;div&gt;&lt;span style="font-style:italic;"&gt;STL. Leksykon kieszonkowy &lt;/span&gt;&lt;/div&gt;&lt;div&gt;Leksykon kieszonkowy opisuje kontener po kontenerze, algorytm po algorytmie, iterator po iteratorze, a mimo to panuje tu wielki niedobór kodu źródłowego. Książka momentami jest usypiająca, przybiera postać dokumentacji, dlatego też polecam z niej korzystać jak z brukowca, czytać to co faktycznie nas ciekawi. Plusem jest wyróżnienie specjalnych uwag, które mogą być pominięte w wielu kursach. Elektroniczne wydanie książki jest stosunkowo łatwe do zdobycia. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Krótka uwaga dla publiki:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Jeżeli zauważyłeś nieprawidłowy odnośnik lub masz wolę do podzielenia się informacjami na temat innych polskich źródeł o STL, to w tym celu skontaktuj się ze mną poprzez maila lub poniższe pole na komentarz. Treść z linkami do nielegalnych plików będę usuwać.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3534226812673623353-8770252198624796585?l=dev-kof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dev-kof.blogspot.com/feeds/8770252198624796585/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://dev-kof.blogspot.com/2010/06/polskie-materiay-na-temat-stl.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/8770252198624796585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/8770252198624796585'/><link rel='alternate' type='text/html' href='http://dev-kof.blogspot.com/2010/06/polskie-materiay-na-temat-stl.html' title='Polskie materiały na temat STL'/><author><name>kof</name><uri>http://www.blogger.com/profile/13315628840145811678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TDBz13Ua3rI/AAAAAAAAACk/hq1RuaTvQZo/S220/images.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_oR4-jbZ-2Xg/TBC5738I8LI/AAAAAAAAAAk/j3bk8IeKOos/s72-c/ok%C5%82adka_bibilioteka_standardowa.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3534226812673623353.post-8157409199335711131</id><published>2010-06-10T12:01:00.000+02:00</published><updated>2010-06-10T12:06:52.719+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='I/O'/><category scheme='http://www.blogger.com/atom/ns#' term='wzorce projektowe'/><category scheme='http://www.blogger.com/atom/ns#' term='artykuły'/><title type='text'>Obsługa I/O w Javie na przykładzie java.io</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_oR4-jbZ-2Xg/TBC4nSfvkCI/AAAAAAAAAAc/LtwHx3mLbaI/s1600/diagram_javaio_2.jpg"&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;To co drażniące może być w Javie przy przejściu z innych języków. To liczne zestawienie klas do obsługi I/O (wejścia/wyjścia). Możesz się o tym przekonać odwiedzając stronę &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/io/package-tree.html"&gt;http://java.sun.com/j2se/1.4.2/docs/api/java/io/package-tree.html&lt;/a&gt;. Same książki nie ułatwiają ich wykorzystania ponieważ uwaga skupiona jest na zobrazowaniu listy ważniejszych klas wraz z opisem i przykładowym kodem. Pojawia się wiele wątpliwości, przy zapisie poniższego kodu:&lt;/div&gt;&lt;div&gt;&lt;code class="prettyprint"&gt;&lt;/code&gt;&lt;/div&gt;&lt;code class="prettyprint"&gt;&lt;div&gt;try {&lt;/div&gt;&lt;div&gt;    InputStream in = new BufferedInputStream(&lt;/div&gt;&lt;div&gt;            new FileInputStream("magiczne liczby.txt"));&lt;/div&gt;&lt;div&gt;} catch (IOException e) {&lt;/div&gt;&lt;div&gt;    e.printStackTrace();&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/code&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Dlaczego teraz muszę tworzyć kilka obiektów, by móc przeczytać sobie plik? Czy to kaprys projektantów mający utrudnić życie kodującym w Javie?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Środkiem potrzebnym do uzyskania odpowiedzi jest wzorzec projektowy &lt;span style="font-style:italic;"&gt;"dekorator"&lt;/span&gt;. To on wyraża relacje jaka istnieje między wspomnianymi klasami. Znając go zrozumiesz korzystanie z wielu podobnych schematów.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Opis szczegółowy wzorca znajdziesz w książce &lt;a href="http://helion.pl/ksiazki/head_first_design_patterns_edycja_polska_eric_freeman_elisabeth_freeman_kathy_sierra_bert_bates,hfdepa.htm"&gt;Head First Design Patterns&lt;/a&gt;, a także na stronie &lt;a href="http://marioosh.5dots.pl/2009/02/wzorce-projektowe-decorator/"&gt;http://marioosh.5dots.pl/2009/02/wzorce-projektowe-decorator/&lt;/a&gt;, aby go pojąć niezbędne jest zrozumienie polimorfizmu.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Przejdźmy do rzeczy, spójrz na poniższy rysunek:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://3.bp.blogspot.com/_oR4-jbZ-2Xg/TBC4UiFyddI/AAAAAAAAAAU/FhFm7RRtSPQ/s400/diagram_javaio_1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5481083409397872082" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 157px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Klasa OutputStream (zielona ramka) oraz klasa FilterOutputStream (czerwona ramka) służą istnieniu relacji we wzorcu dekoratora, to dzięki nim możliwe jest zestawienie klas o którym powiem za chwilę. W tym wątku przedstawię tylko możliwość korzystania z gotowej relacji. Jeżeli chcesz umieć utworzyć własną relacje dekoratora to zajrzyj do lektury.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Najistotniejsza rzecz polega na użyciu składnika (niebieska ramka) i opakowaniu go w dekoratory (fioletowa ramka). Sam dekorator na nic się nie przyda. Jednak użycie go na składniku powoduje, że sam składnik zyskuje nowe możliwości. Mieszanie składnika z dekoratorami pozwala utworzyć obiekt, który będzie zawierał porządne przez nas cechy. W ten sposób z wielu prostych klas można tworzyć złożony obiekt dostosowany do naszych potrzeb.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Co więcej, istnieje możliwość tworzenia nowych własnych dekoratorów. W przykładzie utworzę dekorator pozwalający usunąć z wejścia cyfry. Przepuszcza tylko białe znaki i litery. Należy w tym celu utworzyć klasę, która będzie dziedziczyć od FileOutputStream. Klasę nazwałem AlphaStream.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_oR4-jbZ-2Xg/TBC4nSfvkCI/AAAAAAAAAAc/LtwHx3mLbaI/s1600/diagram_javaio_2.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_oR4-jbZ-2Xg/TBC4nSfvkCI/AAAAAAAAAAc/LtwHx3mLbaI/s400/diagram_javaio_2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5481083731629281314" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 157px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Implementacja:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Plik: AlphaStream.java&lt;code class="prettyprint"&gt;&lt;/code&gt;&lt;/div&gt;&lt;code class="prettyprint"&gt;&lt;div&gt;import java.io.*;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;public class AlphaStream extends FilterInputStream {&lt;/div&gt;&lt;div&gt;    public AlphaStream(InputStream in){&lt;/div&gt;&lt;div&gt;        super(in);&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    @Override&lt;/div&gt;&lt;div&gt;    public int read() throws IOException{&lt;/div&gt;&lt;div&gt;        int c;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        while ((c = super.read()) != -1) {&lt;/div&gt;&lt;div&gt;            if (Character.isLetter(c) || Character.isWhitespace(c))&lt;/div&gt;&lt;div&gt;                return c;&lt;/div&gt;&lt;div&gt;        }&lt;/div&gt;&lt;div&gt;        &lt;/div&gt;&lt;div&gt;        return -1;&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/code&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Plik: Main.java&lt;code class="prettyprint"&gt;&lt;/code&gt;&lt;/div&gt;&lt;code class="prettyprint"&gt;&lt;div&gt;import java.io.*;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;public class Main {&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    public static void main(String[] argc) {&lt;/div&gt;&lt;div&gt;        try{&lt;/div&gt;&lt;div&gt;            InputStream in = new AlphaStream(&lt;/div&gt;&lt;div&gt;                    new BufferedInputStream(System.in));&lt;/div&gt;&lt;div&gt;            String buff = "";&lt;/div&gt;&lt;div&gt;            &lt;/div&gt;&lt;div&gt;            int c;&lt;/div&gt;&lt;div&gt;            while((c = in.read()) &gt;= 0){&lt;/div&gt;&lt;div&gt;                buff += (char)c;&lt;/div&gt;&lt;div&gt;            }&lt;/div&gt;&lt;div&gt;            &lt;/div&gt;&lt;div&gt;            System.out.println(buff);    &lt;/div&gt;&lt;div&gt;        }&lt;/div&gt;&lt;div&gt;        catch( IOException e) {&lt;/div&gt;&lt;div&gt;            e.printStackTrace();&lt;/div&gt;&lt;div&gt;        }&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/code&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3534226812673623353-8157409199335711131?l=dev-kof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dev-kof.blogspot.com/feeds/8157409199335711131/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://dev-kof.blogspot.com/2010/06/obsuga-io-w-javie-na-przykadzie-javaio.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/8157409199335711131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/8157409199335711131'/><link rel='alternate' type='text/html' href='http://dev-kof.blogspot.com/2010/06/obsuga-io-w-javie-na-przykadzie-javaio.html' title='Obsługa I/O w Javie na przykładzie java.io'/><author><name>kof</name><uri>http://www.blogger.com/profile/13315628840145811678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TDBz13Ua3rI/AAAAAAAAACk/hq1RuaTvQZo/S220/images.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_oR4-jbZ-2Xg/TBC4UiFyddI/AAAAAAAAAAU/FhFm7RRtSPQ/s72-c/diagram_javaio_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3534226812673623353.post-522899492301788034</id><published>2010-06-10T11:55:00.001+02:00</published><updated>2010-06-10T11:58:02.844+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='artykuły'/><category scheme='http://www.blogger.com/atom/ns#' term='qt jambi'/><title type='text'>Instalacja Qt Jambi w Eclipse</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TBC2wuMT0II/AAAAAAAAAAM/ZQ8cXKccmWM/s1600/logo_qtjambi.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TBC2wuMT0II/AAAAAAAAAAM/ZQ8cXKccmWM/s320/logo_qtjambi.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5481081694659530882" /&gt;&lt;/a&gt;&lt;div&gt;&lt;span style="font-weight:bold;"&gt;Instalacja Eclipse&lt;/span&gt;&lt;/div&gt;&lt;div&gt;- wczytaj stronę: &lt;a href="http://www.eclipse.org/downloads/"&gt;http://www.eclipse.org/downloads/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;- pobierz: "Eclipse IDE for Java Developers"&lt;/div&gt;&lt;div&gt;- rozpakuj pobrany plik w docelowej lokalizacji&lt;/div&gt;&lt;div&gt;- utwórz katalog dla projektów Java&lt;/div&gt;&lt;div&gt;- uruchom Eclipse, by sprawdzić czy działa&lt;/div&gt;&lt;div&gt;- wprowadź ścieżkę katalogu dla projektów Java&lt;/div&gt;&lt;div&gt;- zamknij Eclipse&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight:bold;"&gt;Instalacja Qt Jambi&lt;/span&gt;&lt;/div&gt;&lt;div&gt;- wczytaj stronę: &lt;a href="http://qt.nokia.com/downloads"&gt;http://qt.nokia.com/downloads&lt;/a&gt;&lt;/div&gt;&lt;div&gt;- pobierz: "Binaries" zależne od platformy&lt;/div&gt;&lt;div&gt;- rozpakuj "Binaries" w docelowej lokacji&lt;/div&gt;&lt;div&gt;- zapisz w notatniku ścieżkę do głównego katalogu "Binaries"&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Integracja Eclipse z Qt Jambi&lt;/div&gt;&lt;div&gt;- wczytaj stronę: &lt;a href="http://qt.nokia.com/downloads"&gt;http://qt.nokia.com/downloads&lt;/a&gt;&lt;/div&gt;&lt;div&gt;- pobierz: "Eclipse Integration" zależne od platformy&lt;/div&gt;&lt;div&gt;- rozpakuj: "Eclipse Integration"&lt;/div&gt;&lt;div&gt;- zawartość katalogu plugins skopiuj do katalogu eclipse/plugins&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight:bold;"&gt;Konfiguracja&lt;/span&gt;&lt;/div&gt;&lt;div&gt;- uruchom Eclipse&lt;/div&gt;&lt;div&gt;- uruchom Window-&gt;Preferences&lt;/div&gt;&lt;div&gt;- pojawi się okno dialogowe preferencji&lt;/div&gt;&lt;div&gt;- W polu Jambi Location wprowadź ścieżkę do rozpakowanego katalogu "Binaries"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight:bold;"&gt;Test&lt;/span&gt;&lt;/div&gt;&lt;div&gt;- uruchom File-&gt;Project...&lt;/div&gt;&lt;div&gt;- pojawi się Okno dialogowe nowego projektu&lt;/div&gt;&lt;div&gt;- wybierz Qt Jambi Project (Using Designer Form)&lt;/div&gt;&lt;div&gt;- nadaj projektowi nazwę, np. HelloQt&lt;/div&gt;&lt;div&gt;- pojawi się okno wyboru okna gui&lt;/div&gt;&lt;div&gt;- wprowadź "MainWindow" do pola Name&lt;/div&gt;&lt;div&gt;- wybierz foremkę "Main Window"&lt;/div&gt;&lt;div&gt;- otwórz plik MainWindow.java&lt;/div&gt;&lt;div&gt;- powinieneś otrzymać kod taki sam jak poniżej:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;code class="prettyprint"&gt;import com.trolltech.qt.gui.*;&lt;/code&gt;&lt;/div&gt;&lt;code class="prettyprint"&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;public class MainWindow extends QMainWindow {&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Ui_MainWindow ui = new Ui_MainWindow();&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    public static void main(String[] args) {&lt;/div&gt;&lt;div&gt;        QApplication.initialize(args);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        MainWindow testMainWindow = new MainWindow();&lt;/div&gt;&lt;div&gt;        testMainWindow.show();&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        QApplication.exec();&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    public MainWindow() {&lt;/div&gt;&lt;div&gt;        ui.setupUi(this);&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    public MainWindow(QWidget parent) {&lt;/div&gt;&lt;div&gt;        super(parent);&lt;/div&gt;&lt;div&gt;        ui.setupUi(this);&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/code&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- teraz kliknij Ctrl+F11, aby skompilować i uruchomić program&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3534226812673623353-522899492301788034?l=dev-kof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dev-kof.blogspot.com/feeds/522899492301788034/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://dev-kof.blogspot.com/2010/06/instalacja-qt-jambi-w-eclipse.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/522899492301788034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3534226812673623353/posts/default/522899492301788034'/><link rel='alternate' type='text/html' href='http://dev-kof.blogspot.com/2010/06/instalacja-qt-jambi-w-eclipse.html' title='Instalacja Qt Jambi w Eclipse'/><author><name>kof</name><uri>http://www.blogger.com/profile/13315628840145811678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TDBz13Ua3rI/AAAAAAAAACk/hq1RuaTvQZo/S220/images.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_oR4-jbZ-2Xg/TBC2wuMT0II/AAAAAAAAAAM/ZQ8cXKccmWM/s72-c/logo_qtjambi.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
